x86 architecture
descriptor tables




 
protected mode IDT, GDT, and LDT
 
offset IDT
+0000h gate #00h descriptor
+0008h gate #01h descriptor
... ...
e.g. task gate
e.g. interrupt gate
e.g. trap gate
...
+07F8h gate #FFh descriptor
+0800h unused
...
+FFFFh
offset GDT LDT
+0000h NULL descriptor descriptor
+0008h descriptor descriptor
... ... ...
e.g. code segment desc. e.g. code segment desc.
e.g. data segment desc. e.g. data segment desc.
e.g. call gate desc. e.g. call gate desc.
e.g. task gate desc. e.g. task gate desc.
e.g. LDT segment desc. ...
e.g. TSS segment desc.
...
+FFF8h descriptor descriptor
 
 
protected mode IDT64, GDT, and LDT
 
offset IDT64
+0000h gate #00h descriptor
+0010h gate #01h descriptor
... ...
e.g. 64-bit interrupt gate
e.g. 64-bit trap gate
...
+0FF8h gate #FFh descriptor
+1000h unused
...
+FFFFh
note transitions through IDT64 gates clear the lowest 4 bits of RSP before the return stack frame gets pushed
offset GDT LDT
+0000h NULL descriptor descriptor
+0008h descriptor descriptor
... ... ...
e.g. code segment desc. e.g. code segment desc.
e.g. data segment desc. e.g. data segment desc.
e.g. 64-bit call gate desc. e.g. 64-bit call gate desc.
e.g. 64-bit LDT desc. ...
e.g. 64-bit TSS desc.
...
+FFF8h descriptor descriptor
 
 
real mode IVT
 
 
offset IVT
+0000h vector #00h offset
+0002h segment
+0004h vector #01h offset
+0006h segment
... vector #xxh offset
segment
+03FCh vector #FFh offset
+03FEh segment
+0400h unused
...
+FFFFh
 



main page