Reputation: 53
I'm reading the latest linux source code and I find that early page fault interrupt is triggered even if instruction cli
is executed and IF flag is cleared. But how is that possible? Is it non-maskable? If so, what's the relationship with NMI?
Upvotes: 2
Views: 49
Reputation: 66089
Term "maskable" is applicable only to interrupts of type IRQ (Interrupt ReQuest), which are also referred as Hardware Interrupts.
However, page fault interrupt is not an IRQ, but of Exception type. Such types of interrupts cannot be masked by definition.
About classification of interrupts see e.g. here: http://wiki.osdev.org/Interrupt.
Think about: what should CPU do, if page fault, caused by an instruction's execution, could be masked? In that case, CPU would unable to perform the instruction and to proceed futher.
Opposite: if timer IRQ is masked, CPU can proceed as normal.
Upvotes: 4