exception handlers and PIC (x86)

hello,

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.

thanks, bryan

Reply to
Bryan Bullard
Loading thread data ...

On Thu, 11 Sep 2003 17:21:42 GMT, "Bryan Bullard" wrote in comp.arch.embedded:

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.

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.

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
 Click to see the full signature
Reply to
Jack Klein

thank you for your reply.

the

handler.

higher

required

i
Reply to
Bryan Bullard

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.