Brendan wrote:
That doesn't add up to me (2 ISA + 1 strange + 7 PCI = 10?). I'll bet the mysterious IRQ #2 is marked as "EXTint" too.
Actually there are only 6 PCI entries. Two of the higher PCI IRQs aren't used and # 16 is mapped to two buses:[pre]o----o--------------o------o-------o------o-------o
|irq | windows says | Type | Bus | Pol | Edge |
o----o--------------o------o-------o------o-------o
| 00 | sysclock | EXT | ISA | std | std |
o----o--------------o------o-------o------o-------o
| 01 | kbd | INT | ISA | std | std |
o----o--------------o------o-------o------o-------o
| 02 | | INT | ISA | std | std |
o----o--------------o------o-------o------o-------o
| 03 | | | | | |
o----o--------------o------o-------o------o-------o
| 04 | COM1 | | | | |
o----o--------------o------o-------o------o-------o
| 05 | | | | | |
o----o--------------o------o-------o------o-------o
| 06 | FDC | | | | |
o----o--------------o------o-------o------o-------o
| 07 | | | | | |
o----o--------------o------o-------o------o-------o
| 08 | RTC | | | | |
o----o--------------o------o-------o------o-------o
| 09 | ACPI | | | | |
o----o--------------o------o-------o------o-------o
| 10 | | | | | |
o----o--------------o------o-------o------o-------o
| 11 | | | | | |
o----o--------------o------o-------o------o-------o
| 12 | Mouse | | | | |
o----o--------------o------o-------o------o-------o
| 13 | CoProcessor | | | | |
o----o--------------o------o-------o------o-------o
| 14 | Prim ATA | | | | |
o----o--------------o------o-------o------o-------o
| 15 | Sec ATA | | | | |
o----o--------------o------o-------o------o-------o
| 16 | VGA | INT |PCI 0,1| low | level |
o----o--------------o------o-------o------o-------o
| 17 | | | | | |
o----o--------------o------o-------o------o-------o
| 18 | Sound | INT | PCI 0 | low | level |
o----o--------------o------o-------o------o-------o
| 19 | | INT | PCI 0 | low | level |
o----o--------------o------o-------o------o-------o
| 20 | PCI-USB | INT | PCI 0 | low | level |
o----o--------------o------o-------o------o-------o
| 21 | PCI-USB | INT | PCI 0 | low | level |
o----o--------------o------o-------o------o-------o
| 22 | | | | | |
o----o--------------o------o-------o------o-------o
| 23 | USB Contr. | INT | PCI 0 | low | level |
o----o--------------o------o-------o------o-------o[/pre]
My guess is that #19 is the motherboard's onboard ethenet card, which I however disabled in windows as it's not needed. I right now don't remember whether it's activated in the BIOS though.
The other mysterious IRQ (apart from #2) is the second input to #16 from pci bus 0. At the moment I can't access this computer, but I'll run the PCI probing tool on it as soon as possible to find out more about it..
Brendan wrote:
BTW I have seen computers where all of the "I/O APIC interrupt assignment entries" aren't in one group - for e.g. you could have 10 of them followed by a few "local APIC interrupt assignment entries", followed by more "I/O APIC interrupt assignment entries"...
That shouldn't be a problem as my code doesn't rely on the entries to be continuous. I'll nevertheless check the entry number declared in the mp header agains my counted entry number to make sure that I didn't miss anything.
Brendan wrote:
The motherboard/chipset can happily connect anything it likes to any I/O APIC input. If they get bored, I/O APIC input 22 might be the ISA PIT, input 17 might be the keyboard and input 8 might be your video card.
Ok, so the PCI bus can only tell me that device X uses PCI IRQ Y ? I was just hoping that the bus would know to which I/O Apic pins its interrupts are connected.
regards,
gaf