Module x86::segmentation
[−]
[src]
Program x86 segmentation hardware.
Structs
SegmentDescriptor | |
SegmentSelector |
Constants
DESC_AVL |
Available for use by system software. |
DESC_DB |
Default operation size (0 = 16-bit segment, 1 = 32-bit segment) |
DESC_DPL0 |
Descriptor privilege level 0. |
DESC_DPL1 |
Descriptor privilege level 1. |
DESC_DPL2 |
Descriptor privilege level 2. |
DESC_DPL3 |
Descriptor privilege level 3. |
DESC_G |
Granularity. |
DESC_L |
64-bit code segment (IA-32e mode only). |
DESC_P |
Descriptor is Present. |
DESC_S |
Descriptor type (0 = system; 1 = code or data). |
RPL_0 |
Requestor Privilege Level |
RPL_1 | |
RPL_2 | |
RPL_3 | |
TI_GDT |
Table Indicator (TI) 0 means GDT is used. |
TI_LDT |
Table Indicator (TI) 1 means LDT is used. |
TYPE_C_EO |
Code Execute-Only |
TYPE_C_EOA |
Code Execute-Only, accessed |
TYPE_C_EOC |
Code Execute-Only, conforming |
TYPE_C_EOCA |
Code Execute-Only, conforming, accessed |
TYPE_C_ER |
Code Execute/Read |
TYPE_C_ERA |
Code Execute/Read, accessed |
TYPE_C_ERC |
Code Execute/Read, conforming |
TYPE_C_ERCA |
Code Execute/Read, conforming, accessed |
TYPE_D_RO |
Data Read-Only |
TYPE_D_ROA |
Data Read-Only, accessed |
TYPE_D_ROEXD |
Data Read-Only, expand-down |
TYPE_D_ROEXDA |
Data Read-Only, expand-down, accessed |
TYPE_D_RW |
Data Read/Write |
TYPE_D_RWA |
Data Read/Write, accessed |
TYPE_D_RWEXD |
Data Read/Write, expand-down |
TYPE_D_RWEXDA |
Data Read/Write, expand-down, accessed |
TYPE_SYS_CALL_GATE | |
TYPE_SYS_INTERRUPT_GATE | |
TYPE_SYS_LDT | |
TYPE_SYS_TRAP_GATE | |
TYPE_SYS_TSS_AVAILABLE | |
TYPE_SYS_TSS_BUSY |
Functions
load_cs |
Reload code segment register. Note this is special since we can not directly move to %cs. Instead we push the new segment selector and return value on the stack and use lretq to reload cs and continue at 1:. |
load_ds |
Reload data segment register. |
load_es |
Reload fs segment register. |
load_fs |
Reload fs segment register. |
load_gs |
Reload gs segment register. |
load_ss |
Reload stack segment register. |