Why an ISR is Interruptible?

I am new to Windows Device Driver.

My understanding is that at the hardware level when an x86 processor is interrupted (when the INTR line of the CPU triggered by the device), the processor clears the Interrupt Flag bits of the EFLAGS register to disable interrupt before executing the ISR. So normally, an x86 ISR cannot be interrupted again before it finishes its work and issues an IRET instruction.

But why an Windows ISR is interruptible? Is Windows ISR the same as the processor’s ISR?

> But why an Windows ISR is interruptible? Is Windows ISR the same as the processor’s ISR?

No, Windows ISR is called by processor ISR code, which belongs to the kernel/HAL and allows interrupts.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com