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 |
|
| |
|
|
|
| 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 |
|
|