pub struct Selectors {
pub code_selector: SegmentSelector,
pub data_selector: SegmentSelector,
pub tss_selector: SegmentSelector,
pub user_data_selector: SegmentSelector,
pub user_code_selector: SegmentSelector,
}Expand description
GDT segment selectors for kernel and user mode.
Layout:
- 0x00: Null descriptor
- 0x08: Kernel code segment (Ring 0)
- 0x10: Kernel data segment (Ring 0)
- 0x18: TSS (occupies 2 entries, 0x18-0x20)
- 0x28: User data segment (Ring 3, selector 0x2B with RPL)
- 0x30: User code segment (Ring 3, selector 0x33 with RPL)
The user data/code order matches SYSRET expectations: SYSRET computes SS = STAR[63:48]+8, CS = STAR[63:48]+16.
Fields§
§code_selector: SegmentSelector§data_selector: SegmentSelector§tss_selector: SegmentSelector§user_data_selector: SegmentSelector§user_code_selector: SegmentSelector