Page 1 of 1

PCI interrupts and the IO-APIC

Posted: Tue Feb 07, 2012 10:33 am
by IanSeyler
I've noticed an issue on some physical PC's as well as VMware that the some interrupts do not map 1:1 with the IO-APIC. Legacy IRQs like the keyboard and RTC seem to be fine. For my network card driver I query the PCI space to grab the Interrupt Line but that is no longer enough.

Do I need to be concerned about the Interrupt PIN as well (if set)? Do the ACPI tables contain the data for the GSI to hardware interrupt mappings?

Thanks,
-Ian

Re: PCI interrupts and the IO-APIC

Posted: Tue Feb 07, 2012 3:08 pm
by Cognition
You will need to worry about the pins, especially on larger systems that might have multiple IOAPICS. Unfortunately the ACPI tables do not contain information on PCI Pin to Global Interrupt line mappings. That's done the AML via the _PRT method. The _PRT method and it's invocation is covered in the ACPI spec, but you will need an AML interpreter (ACPICA being the most practical) to access the ACPI namespace, devices and methods. You should also read up on the _PIC method as can impact interrupt resources methods in the namespace may return.