LAPIC (Local APIC) и IOAPIC

apic.cpp

Поскольку в системе есть как минимум один процессор, то первый (нулевой) LAPIC существует всегда. IOAPIC может отсутствовать на однопроцессорной системе, в таком случае функциями IOAPIC занимается устаревший PIC.

При использовании LAPIC сброс прерывания производится записью нуля в определённую область физической памяти.

Включение, отключение и настройка аппаратных прерываний производится путём настройки IOAPIC или PIC, в случае отсутствия IOAPIC. Последнее, как правило, никогда на практике не встречается.

Можно включить внутренний периодический таймер LAPIC, если аппаратные прерывания отключены.