Interrupt Descriptor Table: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
m Reverted edits by Carver (talk) to last revision by Lartu
Line 130: Line 130:


== Gate Types ==
== 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 ===
=== I386 Interrupt Gate ===