Non-maskable interrupt of maskable interrupt handler

Non-maskable interrupt of maskable interrupt handler

applepi's picture

This question concerns the interaction of maskable interrupts and non-maskable interrupts (NMI), as discussed with particularity in Sections 6-7 through 6-9 (Pages 6-8 through 6-12) of Volume 3A of the December 2011 edition of the Software Developer's Manual.

Assume that code executing at privilege level 3 is interrupted by an interrupt or an exception other than an NMI (e.g., a page fault) and that the appropriate descriptor in the IDT invokes a handler executing at privilege level 0 with maskable interrupts disabled. (As per the first bullet point on Page 6-17, a stack switch accompanies the privilege-level change.) The question is: can an NMI interrupt this handler (and transfer execution to the NMI handler) before the execution of the first handler's first instruction?

Eric Grant

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.