CONFIG_LOAPIC_SPURIOUS_VECTOR

Handle LOAPIC spurious interrupts

Type: bool

Help

A special situation may occur when a processor raises its task priority to be greater than or equal to the level of the interrupt for which the processor INTR signal is currently being asserted. If at the time the INTA cycle is issued, the interrupt that was to be dispensed has become masked (programmed by software), the local APIC will deliver a spurious-interrupt vector. Dispensing the spurious-interrupt vector does not affect the ISR, so the handler for this vector should return without an EOI. From x86 manual Volume 3 Section 10.9.

Direct dependencies

LOAPIC

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Kconfig definition

At <Zephyr>/drivers/interrupt_controller/Kconfig.loapic:23

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:32<Zephyr>/drivers/Kconfig:26<Zephyr>/drivers/interrupt_controller/Kconfig:51

Menu path: (Top) → Device Drivers → Interrupt Controllers → LOAPIC

config LOAPIC_SPURIOUS_VECTOR
    bool "Handle LOAPIC spurious interrupts"
    depends on LOAPIC
    help
      A special situation may occur when a processor raises its task
      priority to be greater than or equal to the level of the
      interrupt for which the processor INTR signal is currently being
      asserted. If at the time the INTA cycle is issued, the
      interrupt that was to be dispensed has become masked (programmed
      by software), the local APIC will deliver a spurious-interrupt
      vector. Dispensing the spurious-interrupt vector does not affect
      the ISR, so the handler for this vector should return without an EOI.
      From x86 manual Volume 3 Section 10.9.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)