I recently implemented IOAPIC support, I have tested my system and everything seems to work, usb, lan, etc...
Now i did this so i could enable the HPET timer and have a sub millisecond timer.
My chipset ICH7 supports 3 timers the first 2 can map interrupts onto IRQ 20-23 the third can map his interrupts onto IRQ11 and IRQ20-23.
I have got the hpet working on IRQ 11, but now trying to set the IRQ to 21 i've run into problems.
From the "software-developers-hpet-spec-1-0a"
From my ICH7 chipset:The interrupts are all active high.
If the interrupts are mapped to the I/O APIC and set for level-triggered mode, they can be shared with PCI
interrupts.
So what does this mean ?When programming the polarity of internal interrupt sources on the APIC, interrupts 0
through 15 receive active-high internal interrupt sources, while interrupts 16 through 23
receive active-low internal interrupt sources.
I'm having a hard time believing that a hardware manufacturer would implement incompatible devices on the same chipset.
Especially since today's new chipset (NM10) has the same text in it's datasheet.
I must be missing something, anyone with an idea ?