Reputation: 25
What happens when interrupts are disabled on Intel x86 processors? Are they queued to be processed when interrupts are enabled or they lost? Assuming a Linux OS.
Upvotes: 0
Views: 661
Reputation: 5775
Hardware (asynchronous) interrupts on PC are trigerred by 8259 controller which sends the signal INT
to x86 CPU. If the processor has disabled interrupts, CPU doesn't acknowledge this with INTA
and the request keeps pending until interrupts are enabled again (by instruction STI
at the end of the following instruction).
So the first hardware interrupt request is queued, but the repeated interrupt requests from the same device are lost if they occured before the first request was serviced. Pending request can be cleared by PC boot or when some driver reprograms the 8529 controller, but this normally does not happen.
See also 8259 on Wikipedia.
Upvotes: 2