Default IOAPIC flags

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
rdos
Member
Member
Posts: 3311
Joined: Wed Oct 01, 2008 1:55 pm

Default IOAPIC flags

Post by rdos »

What is the default flags (level/edge and active high/low) for IOAPIC entries that have no overrides in the ACPI APIC table? Empirically, it seems like 0 + the int-vector is the answer, but I've read that ISA IRQs are edge triggered and active low, which would give 0x2000 + int-vector. However, the latter does not seem to work.

What is correct?
gerryg400
Member
Member
Posts: 1801
Joined: Thu Mar 25, 2010 11:26 pm
Location: Melbourne, Australia

Re: Default IOAPIC flags

Post by gerryg400 »

I looked in the mp table of my PC. All ISA interrupts are flags = 0x0005. This means edge triggered active high.

So, 0 + the int-vector would be correct.

From http://pinouts.ru/Slots/ISA_pinout.shtml
The IBM PC and XT had only a single 8259 interrupt controller. The AT and later machines have a second interrupt controller, and the two are used in a master/slave combination. IRQ2 and IRQ9 are the same pin on most ISA systems. Interrupts on most systems may be either edge triggered or level triggered. The default is usually edge triggered, and active high (low to high transition). The interrupt level must be held high until the first interrupt acknowledge cycle (two interrupt acknowledge bus cycles are generated in response to an interrupt request).
- gerryg400
If a trainstation is where trains stop, what is a workstation ?
Post Reply