SEL_KPL
((uint64_t)GSEL(GCODE_SEL, SEL_KPL) << 32) |
sizeof (struct x86_64_tss)-1, SDT_SYS386TSS, SEL_KPL, 0);
ltr(GSYSSEL(GPROC0_SEL, SEL_KPL));
SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
SDT_MEMERA, SEL_KPL, 1, 0, 1);
SDT_MEMRWA, SEL_KPL, 1, 0, 1);
setgate(&idt[T_VC], Xvctrap_early, 0, SDT_SYS386IGT, SEL_KPL,
GSEL(GCODE_SEL, SEL_KPL));
0xfffff, SDT_MEMERA, SEL_KPL, 1, 0, 1);
0xfffff, SDT_MEMRWA, SEL_KPL, 1, 0, 1);
SDT_SYS386TSS, SEL_KPL, 0);
(x == 3) ? SEL_UPL : SEL_KPL,
GSEL(GCODE_SEL, SEL_KPL));
setgate(&idt[vec], function, 0, SDT_SYS386IGT, SEL_KPL,
GSEL(GCODE_SEL, SEL_KPL));
ltr(GSYSSEL(GPROC0_SEL, SEL_KPL));
if (vmwrite(VMCS_HOST_IA32_CS_SEL, GSEL(GCODE_SEL, SEL_KPL))) {
if (vmwrite(VMCS_HOST_IA32_DS_SEL, GSEL(GDATA_SEL, SEL_KPL))) {
if (vmwrite(VMCS_HOST_IA32_ES_SEL, GSEL(GDATA_SEL, SEL_KPL))) {
if (vmwrite(VMCS_HOST_IA32_FS_SEL, GSEL(GDATA_SEL, SEL_KPL))) {
if (vmwrite(VMCS_HOST_IA32_GS_SEL, GSEL(GDATA_SEL, SEL_KPL))) {
if (vmwrite(VMCS_HOST_IA32_SS_SEL, GSEL(GDATA_SEL, SEL_KPL))) {
if (vmwrite(VMCS_HOST_IA32_TR_SEL, GSYSSEL(GPROC0_SEL, SEL_KPL))) {
#define GDYNSEL(s,r) ((((s) << 4) + DYNSEL_START) | r | SEL_KPL)
#define KERNELMODE(c, f) (ISPL(c) == SEL_KPL)
apm_ep.seg = GSEL(GAPM32CODE_SEL,SEL_KPL);
SDT_MEMERA, SEL_KPL, 1, 0);
SDT_MEMERA, SEL_KPL, 0, 0);
SEL_KPL, 1, 0);
bios32_entry.segment = GSEL(GCODE_SEL, SEL_KPL);
setgdt(GBIOS32_SEL, (caddr_t)va, BIOS32_END, SDT_MEMERA, SEL_KPL, 1, 0);
e->segment = GSEL(GBIOS32_SEL, SEL_KPL);
cif->cif_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
tss->tss_ss0 = tss->tss_ss = GSEL(GDATA_SEL, SEL_KPL);
tss->tss_cs = GSEL(GCODE_SEL, SEL_KPL);
tss->tss_ds = tss->tss_es = tss->tss_ss = GSEL(GDATA_SEL, SEL_KPL);
tss->tss_fs = GSEL(GCPU_SEL, SEL_KPL);
tss->tss_gs = GSEL(GNULL_SEL, SEL_KPL);
tss->tss_ldt = GSEL(GNULL_SEL, SEL_KPL);
sizeof(*ci->ci_tss)-1, SDT_SYS386TSS, SEL_KPL, 0, 0);
sizeof(*ci->ci_nmi_tss)-1, SDT_SYS386TSS, SEL_KPL, 0, 0);
ltr(GSEL(GTSS_SEL, SEL_KPL));
SDT_MEMRWA, SEL_KPL, 0, 0);
SDT_MEMRWA, SEL_KPL, 0, 0);
gd->gd_selector = GSEL(seg, SEL_KPL);
setgate(&idt[ 14], &IDTVEC(f00f_redirect), 0, SDT_SYS386IGT, SEL_KPL,
SDT_MEMERA, SEL_KPL, 1, 1);
SDT_MEMERA, SEL_KPL, 1, 1);
SDT_MEMRWA, SEL_KPL, 1, 1);
sizeof(struct cpu_info)-1, SDT_MEMRWA, SEL_KPL, 0, 0);
SDT_SYS386TSS, SEL_KPL, 0, 0);
SDT_SYS386TSS, SEL_KPL, 0, 0);
setgate(&idt[ 0], &IDTVEC(div), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 1], &IDTVEC(dbg), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 2], NULL, 0, SDT_SYSTASKGT, SEL_KPL, GNMITSS_SEL);
setgate(&idt[ 5], &IDTVEC(bnd), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 6], &IDTVEC(ill), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 7], &IDTVEC(dna), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 8], &IDTVEC(dble), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 9], &IDTVEC(fpusegm), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 10], &IDTVEC(tss), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 11], &IDTVEC(missing), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 12], &IDTVEC(stk), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 13], &IDTVEC(prot), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 14], &IDTVEC(page), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 15], &IDTVEC(rsvd), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 16], &IDTVEC(fpu), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 17], &IDTVEC(align), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 18], &IDTVEC(mchk), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[ 19], &IDTVEC(simd), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[i], &IDTVEC(rsvd), 0, SDT_SYS386IGT, SEL_KPL, GCODE_SEL);
setgate(&idt[vec], function, 0, SDT_SYS386IGT, SEL_KPL, GICODE_SEL);
#define KERNELMODE(c, f) (ISPL(c) == SEL_KPL)
SDT_SYS386IGT, SEL_KPL, GICODE_SEL);
setgate(&idt[irq], probeintr, 0, SDT_SYS386IGT, SEL_KPL, GICODE_SEL);
setgate(&idt[16], probetrap, 0, SDT_SYS386TGT, SEL_KPL, GCODE_SEL);
args.segment = GSEL(GDATA_SEL, SEL_KPL);
setsegment(&sd[1], 0, 0xffffffff, SDT_MEMERA, SEL_KPL, 1, 1);
setsegment(&sd[2], 0, 0xffffffff, SDT_MEMRWA, SEL_KPL, 1, 1);