Page 1 of 1

Does IOAPIC require LAPIC

Posted: Thu Jun 25, 2020 4:58 pm
by nexos
Hello,
I am currently working on an APIC driver. I was wondering if you needed a Local APIC driver in order to use the IO APIC
Thanks,
nexos

Re: Does IOAPIC require LAPIC

Posted: Fri Jun 26, 2020 12:18 am
by nullplan
Well, you need to enable LAPIC. And you need to signal EOI to it. If that amounts to a driver to you, then yes, you need a LAPIC driver to use IOAPIC.

Re: Does IOAPIC require LAPIC

Posted: Fri Jun 26, 2020 4:13 am
by Korona
Is this a strange question to ask for the following reason: the LAPIC is relatively simple to drive and offers many useful features (such as the most accurate timers that the architecture has to offer, access to the performance monitoring IRQ, multiprocessor support and the ability to send IPIs/NMIs). If it is available, you want to enable it even on systems where you use the old XT-PIC to handle hardware IRQs (which is perfectly possible).

Correctly handling the I/O APIC requires an ACPI implementation, however. There are chipsets - including most (?) Intel chipsets younger than 10 years - where the I/O APIC simply will not receive all interrupts (not even all non-PCI interrupts) when the _PIC AML method has not been called.

Re: Does IOAPIC require LAPIC

Posted: Fri Jun 26, 2020 5:50 am
by nexos
Ok that is what I figured. Thanks!