IO APIC: Mask the interrupt signal before trying
authorMichael Neumann <mneumann@ntecs.de>
Wed, 13 Oct 2010 21:19:07 +0000 (23:19 +0200)
committerMichael Neumann <mneumann@ntecs.de>
Wed, 13 Oct 2010 21:19:07 +0000 (23:19 +0200)
to clear IRR by switching trigger mode.

Apply commit 69f1d879d9f93caba0dd678e71b7adecf6eb8460 for x86_64.

sys/platform/pc64/apic/apic_abi.c

index 25c3e81..b179655 100644 (file)
@@ -231,6 +231,7 @@ apic_vectorctl(int op, int intr, int flags)
            imen_lock();
            select = int_to_apicintpin[intr].redirindex;
            value = io_apic_read(int_to_apicintpin[intr].ioapic, select);
+           value |= IOART_INTMSET;
            io_apic_write(int_to_apicintpin[intr].ioapic,
                          select, (value & ~APIC_TRIGMOD_MASK));
            io_apic_write(int_to_apicintpin[intr].ioapic,