31 #ifndef CPU_X86_MM_LDT_LAYOUT_H_
32 #define CPU_X86_MM_LDT_LAYOUT_H_
34 #include "gdt-layout.h"
39 #define LDT_NUM_DESC 3
46 #define LDT_IDX_KERN 0
48 #define LDT_IDX_MMIO 1
50 #define LDT_IDX_META 2
52 #define LDT_SEL(idx, rpl) (GDT_SEL(idx, rpl) | (1 << 2))
54 #define LDT_SEL_KERN LDT_SEL(LDT_IDX_KERN, PRIV_LVL_USER)
55 #define LDT_SEL_MMIO LDT_SEL(LDT_IDX_MMIO, PRIV_LVL_USER)
56 #define LDT_SEL_META LDT_SEL(LDT_IDX_META, PRIV_LVL_USER)
57 #define LDT_SEL_STK LDT_SEL(LDT_IDX_STK, PRIV_LVL_USER)