Interrupt Descriptor Table: Difference between revisions

[unchecked revision][unchecked revision]
m (Reverted edits by Carver (talk) to last revision by Lartu)
Line 130:
 
== Gate Types ==
 
There are basically two kinds of code execution interruption: when it is caused by a faulty instruction, or when it caused by an unrelated event. In the first case we must save the address of the CURRENT faulting instruction so that we can retry. These are called "traps". The second case could be caused by an IRQ, or by using an "int" instruction, and here we must return to the NEXT instruction. Another difference is, that with traps new interrupts might occur. However when the CPU is serving an IRQ, further interrupts must be masked. How a certain interrupt is served depends on which kind of gate you put in the IDT entry.
 
=== I386 Interrupt Gate ===
Anonymous user