USER_CODE_SEGMENT
#define USER_CODE_SELECTOR ((USER_CODE_SEGMENT << 3) | DPL_USER)
#define BOOT_GDT_SEGMENT_COUNT (USER_CODE_SEGMENT + 1)
#define USER_CODE_SELECTOR ((USER_CODE_SEGMENT << 3) | DPL_USER)
&& BOOT_GDT_SEGMENT_COUNT > USER_CODE_SEGMENT
set_segment_descriptor(&gBootGDT[USER_CODE_SEGMENT], DT_CODE_EXECUTE_ONLY,
&& BOOT_GDT_SEGMENT_COUNT > USER_CODE_SEGMENT
set_segment_descriptor(&gBootGDT[USER_CODE_SEGMENT], 0, 0xffffffff,
&& BOOT_GDT_SEGMENT_COUNT > USER_CODE_SEGMENT
set_segment_descriptor(&bootGDT[USER_CODE_SEGMENT], 0, 0xffffffff,
&& BOOT_GDT_SEGMENT_COUNT > USER_CODE_SEGMENT
set_segment_descriptor(&gBootGDT[USER_CODE_SEGMENT], DT_CODE_EXECUTE_ONLY,
set_segment_descriptor(&gdt[USER_CODE_SEGMENT], 0, addr_t(-1),