exception handlers and PIC (x86)

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View

this is probably a silly question.  however, i haven't found explicit
information on the web and i need straight forward clarification.

question 1:  obviously, if the PIC is initialized to require manual EOI, the
PIC must be acknowledged by sending EOI from the hardware interrupt handler.
however, i'm not sure if this is always required or only required if higher
priority hardware interrupts are to be serviced (nested). what is required
for either condition?

question 2:  do cpu exception handlers need to send and EOI to the PIC?  i
would think not, and may cause problems i would think.  i'm wondering
because i saw the unsubstantiated usage as such.

question 3:  the same question at question 2 only regarding software
interrupts called by INT n.


Re: exception handlers and PIC (x86)
On Thu, 11 Sep 2003 17:21:42 GMT, "Bryan Bullard"

Quoted text here. Click to load it

It is always required.  If you do not send EOI from the handler to the
PIC, that particular interrupt can never trigger again and all lower
priority interrupts are blocked.

Quoted text here. Click to load it

CPU exception handlers do not come from the PIC, the PIC knows nothing
about them, and your PIC should be programmed to use interrupts above
those reserved for internal use, although the original IBM PC didn't.

Quoted text here. Click to load it

The same answer applies for invoking interrupts by INT n.  The PIC
does not see them, does not know about them, and should not be send
EOI for them.

But if you don't send an EOI to the PIC for an interrupt that occurs,
that interrupt can't ever trigger again, and all lower priority ones
are blocked forever.

Jack Klein
Home: http://JK-Technology.Com
We've slightly trimmed the long signature. Click to see the full one.
Re: exception handlers and PIC (x86)

thank you for your reply.

Quoted text here. Click to load it

Site Timeline