cpu_gdt
descrp = &CPU->cpu_gdt[idx];
descrp = &CPU->cpu_gdt[idx];
set_syssegd((system_desc_t *)&cp->cpu_gdt[GDT_KTSS], cp->cpu_tss,
rm->rm_gdt_base = cp->cpu_gdt;
rm->rm_gdt_lim = sizeof (*cp->cpu_gdt) * NGDT - 1;
set_usegd(&cp->cpu_gdt[GDT_CPUID], SDP_SHORT, NULL, cp->cpu_id,
ASSERT((sizeof (*cp->cpu_gdt) * NGDT) <= PAGESIZE);
cp->cpu_gdt = kmem_zalloc(PAGESIZE, KM_SLEEP);
bcopy(CPU->cpu_gdt, cp->cpu_gdt, (sizeof (*cp->cpu_gdt) * NGDT));
kmem_free(cp->cpu_gdt, PAGESIZE);
cp->cpu_gdt = NULL;
hati_cpu_punchin(cpu, (uintptr_t)cpu->cpu_gdt, PROT_READ);
mmu_ptob(hat_getpfnum(kas.a_hat, (caddr_t)cp->cpu_gdt));
if ((err = as_setprot(&kas, (caddr_t)cp->cpu_gdt,
if (gdtbase == (uintptr_t)cp->cpu_gdt)
CPU->cpu_gdt = gdt;
CPU->cpu_gdt[sidx] = *udp;
CPU->cpu_gdt = gdt;
ASSERT(bcmp(&CPU->cpu_gdt[GDT_LWPFS], &lwp->lwp_pcb.pcb_fsdesc,
ASSERT(bcmp(&CPU->cpu_gdt[GDT_LWPGS], &lwp->lwp_pcb.pcb_gsdesc,
return (CPU->cpu_gdt);
*((system_desc_t *)&CPU->cpu_gdt[GDT_LDT]) = desc;
*((system_desc_t *)&CPU->cpu_gdt[GDT_LDT]) = null_sdesc;