x86 architecture
descriptor tables




 
protected mode IDT, GDT, and LDT
 
offset IDT
+0000h gate #00h descriptor
+0008h gate #01h descriptor
... ...
e.g. interrupt gate
e.g. trap gate
e.g. task gate
...
+07F8h gate #FFh descriptor
+0800h unused
...
+FFFFh
offset GDT LDT
+0000h NULL descriptor descriptor
+0008h descriptor descriptor
... ... ...
e.g. code segment descriptor e.g. code segment descriptor
e.g. data segment descriptor e.g. data segment descriptor
e.g. task gate descriptor e.g. task gate descriptor
e.g. call gate descriptor e.g. call gate descriptor
e.g. LDT segment descriptor ...
e.g. TSS segment descriptor
...
+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
n/a 64-bit task 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 descriptor e.g. code segment descriptor
e.g. data segment descriptor e.g. data segment descriptor
n/a 64-bit task gate descriptor n/a 64-bit task gate descriptor
e.g. 64-bit call gate descriptor e.g. 64-bit call gate descriptor
e.g. 64-bit LDT descriptor ...
e.g. 64-bit TSS descriptor
...
+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

© 1996-2024 by Christian Ludloff. All rights reserved. Use at your own risk.