KCS_SEL
CTASSERT(KDS_SEL == KCS_SEL + 8);
((uint64_t)(U32CS_SEL << 16 | KCS_SEL)) << 32);
wrmsr(MSR_INTC_SEP_CS, (uint64_t)(uintptr_t)KCS_SEL);
CTASSERT(KDS_SEL == KCS_SEL + 8);
CTASSERT(U32CS_SEL == ((KCS_SEL + 16) | 3));
vgc->user_regs.cs = KCS_SEL | SEL_KPL; /* force to ring 3 */
ti->cs = KCS_SEL;
cmpw $KCS_SEL, 0x10(%rsp); \
cmpw $KCS_SEL, REGOFF_CS(%rsp); \
cmpw $KCS_SEL, REGOFF_CS(%rsp);\
vmcs_write(VMCS_HOST_IA32_SYSENTER_CS, KCS_SEL);
if (kpti_enable && sel == KCS_SEL && id->id_low == T_DBLFLT)
kdi_idt_init(KCS_SEL);
kdi_idt_gates_install(KCS_SEL, KDI_IDT_SAVE);
kdi_idt_gates_install(KCS_SEL, KDI_IDT_NOSAVE);
kdi_idt_gates_install(KCS_SEL, KDI_IDT_SAVE);
kdi_idt_init(KCS_SEL);
load_segment_registers((KCS_SEL | SEL_KPL), KFS_SEL, KGS_SEL, KDS_SEL);
load_segment_registers(KCS_SEL, KFS_SEL, KGS_SEL, KDS_SEL);
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_ZERODIV));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_SGLSTP));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_NMIFLT));
KCS_SEL, SDT_SYSIGT, TRP_UPL, idt_vector_to_ist(T_BPTFLT));
KCS_SEL, SDT_SYSIGT, TRP_UPL, idt_vector_to_ist(T_OVFLW));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_BOUNDFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_ILLINST));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_NOEXTFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_DBLFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_TSSFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_SEGFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_STKFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_GPFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_PGFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_EXTERRFLT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_ALIGNMENT));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_MCE));
KCS_SEL, SDT_SYSIGT, TRP_KPL, idt_vector_to_ist(T_SIMDFPE));
KCS_SEL, SDT_SYSIGT, TRP_UPL, idt_vector_to_ist(T_FASTTRAP));
KCS_SEL, SDT_SYSIGT, TRP_UPL, idt_vector_to_ist(T_SYSCALLINT));
KCS_SEL, SDT_SYSIGT, TRP_UPL, idt_vector_to_ist(T_DTRACE_RET));
&brand_sys_syscall_int, KCS_SEL, SDT_SYSIGT, TRP_UPL,
KCS_SEL, SDT_SYSIGT, TRP_KPL,
KCS_SEL, SDT_SYSIGT, TRP_KPL,
set_gatesegd(&idt[i], ivctptr, KCS_SEL, SDT_SYSIGT, TRP_KPL,
#define USERMODE(cs) ((uint16_t)(cs) != KCS_SEL)