x86 disables all local interrupts (except NMI of course) before jumping to the interrupt vector.



If an interrupt or exception handler is called through an interrupt gate, the processor clears the interrupt enable (IF) flag in the EFLAGS register to prevent subsequent interrupts from interfering with the execution of the handler.

From SDM Volume 1

While an NMI interrupt handler is executing, the processor blocks delivery of subsequent NMIs until the next execution of the IRET instruction. This blocking of NMIs prevents nested execution of the NMI handler

From SDM Volume 3


  1. Can an interrupt handler be preempted by the same interrupt handler?