danix800
danix800

Reputation: 53

Early page fault is triggered with IF flag cleared, but how is that possible?

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

Answers (1)

Tsyvarev
Tsyvarev

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

Related Questions