SEL_KPL
sizeof (*cp->cpu_tss) - 1, SDT_SYSTSS, SEL_KPL);
vgc->user_regs.cs = KCS_SEL | SEL_KPL; /* force to ring 3 */
return (SEL_GDT(GDT_KDATA, SEL_KPL));
return (SEL_GDT(GDT_KCODE, SEL_KPL));
return (SEL_GDT(GDT_KTSS, SEL_KPL));
SEL_KPL, SDP_PAGES, SDP_OP32);
SDT_MEMRWA, SEL_KPL, SDP_PAGES, SDP_OP32);
SDT_MEMERA, SEL_KPL, SDP_PAGES, SDP_OP32);
SDT_MEMERA, SEL_KPL, 0, 0);
SDT_MEMRWA, SEL_KPL, 0, SDP_OP32);
SEL_KPL, SDP_PAGES, SDP_OP32);
ti->cs |= SEL_KPL; /* force into ring 3. see KCS_SEL */
set_usegd(&gdt[GDT_KCODE], SDP_LONG, NULL, 0, SDT_MEMERA, SEL_KPL,
SEL_KPL, SDP_PAGES, SDP_OP32);
sizeof (*ktss0) - 1, SDT_SYSTSS, SEL_KPL);
SDT_MEMRWA, SEL_KPL, SDP_PAGES, SDP_OP32);
SDT_MEMERA, SEL_KPL, SDP_PAGES, SDP_OP32);
load_segment_registers((KCS_SEL | SEL_KPL), KFS_SEL, KGS_SEL, KDS_SEL);
__set_es(0 | SEL_KPL); /* selector RPL not ring 0 on hypervisor */
set_syssegd(&desc, CPU->cpu_m.mcpu_ldt, len - 1, SDT_SYSLDT, SEL_KPL);
#define TRP_KPL SEL_KPL /* system gate priv (user blocked) */
#define KCS_SEL SEL_GDT(GDT_KCODE, SEL_KPL)
#define KDS_SEL SEL_GDT(GDT_KDATA, SEL_KPL)
#define TEMP_CS64_SEL SEL_GDT(TEMPGDT_KCODE64, SEL_KPL)
#define ULDT_SEL SEL_GDT(GDT_LDT, SEL_KPL)
#define KTSS_SEL SEL_GDT(GDT_KTSS, SEL_KPL)
#define DFTSS_SEL SEL_GDT(GDT_DBFLT, SEL_KPL)
#define KGS_SEL SEL_GDT(GDT_GS, SEL_KPL)
#define B64CODE_SEL SEL_GDT(GDT_B64CODE, SEL_KPL)
#define B32CODE_SEL SEL_GDT(GDT_B32CODE, SEL_KPL)
#define B32DATA_SEL SEL_GDT(GDT_B32DATA, SEL_KPL)
#define B16CODE_SEL SEL_GDT(GDT_B16CODE, SEL_KPL)
#define B16DATA_SEL SEL_GDT(GDT_B16DATA, SEL_KPL)
#define KMDBGS_SEL SEL_GDT(GDT_BGSTMP, SEL_KPL)