Ravi
Ravi

Reputation: 25

What happens when interrupts are disabled on Intel x86 processors?

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

Answers (1)

vitsoft
vitsoft

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

Related Questions