USER_DATA_SEGMENT
#define BOOT_GDT_SEGMENT_COUNT (USER_DATA_SEGMENT + 2) // match x86_64
#define USER_DATA_SELECTOR ((USER_DATA_SEGMENT << 3) | DPL_USER)
#define USER_DATA_SELECTOR ((USER_DATA_SEGMENT << 3) | DPL_USER)
&& BOOT_GDT_SEGMENT_COUNT > USER_DATA_SEGMENT);
set_segment_descriptor(&gBootGDT[USER_DATA_SEGMENT], DT_DATA_WRITEABLE,
&& BOOT_GDT_SEGMENT_COUNT > USER_DATA_SEGMENT);
set_segment_descriptor(&gBootGDT[USER_DATA_SEGMENT], 0, 0xffffffff,
&& BOOT_GDT_SEGMENT_COUNT > USER_DATA_SEGMENT);
set_segment_descriptor(&bootGDT[USER_DATA_SEGMENT], 0, 0xffffffff,
&& BOOT_GDT_SEGMENT_COUNT > USER_DATA_SEGMENT);
set_segment_descriptor(&gBootGDT[USER_DATA_SEGMENT], DT_DATA_WRITEABLE,
set_segment_descriptor(&gdt[USER_DATA_SEGMENT], 0, addr_t(-1),