pd_entry_t
pde_pa = cpu_kh->ptdpaddr + (pl4_pi(va) * sizeof(pd_entry_t));
pde_pa = (pde & PG_FRAME) + (pl3_pi(va) * sizeof(pd_entry_t));
pde_pa = (pde & PG_FRAME) + (pl2_pi(va) * sizeof(pd_entry_t));
pd_entry_t pde;
const pd_entry_t ign_normal[] = {
const pd_entry_t mbz_normal[] = {
check_mbz(pd_entry_t e, pd_entry_t mbz)
pflags(pd_entry_t e, pd_entry_t inherited)
pent(int level, int idx, vaddr_t va, pd_entry_t e, pd_entry_t inherited,
pd_entry_t pa, mbz;
pd_entry_t cr3;
for (i = 0; i < PAGE_SIZE / sizeof(pd_entry_t); i++) {
pd_entry_t *pt[5];
pd_entry_t *pdes;
pd_entry_t *pva, *pva_intel;
pva[index] = (pd_entry_t) (pa | PG_u | PG_RW | PG_V | pg_crypt);
pmap_pdp_ctor(pd_entry_t *pdir)
memset(pdir, 0, PDIR_SLOT_PTE * sizeof(pd_entry_t));
npde * sizeof(pd_entry_t));
(NTOPLEVEL_PDES - (PDIR_SLOT_KERN + npde)) * sizeof(pd_entry_t));
pmap_pdp_ctor_intel(pd_entry_t *pdir)
pmap_pdes_valid(vaddr_t va, pd_entry_t *lastpde)
pd_entry_t pde;
pd_entry_t pde;
pd_entry_t pde;
pd_entry_t *const normal_pdes[] = PDES_INITIALIZER;
pd_entry_t *pd, *ptp;
pd = (pd_entry_t *)PMAP_DIRECT_MAP(npa);
pd = (pd_entry_t *)PMAP_DIRECT_MAP(npa);
pd = (pd_entry_t *)PMAP_DIRECT_MAP(npa);
pd_entry_t *pd4, *pd3, *pd2, *pd1;
pd_entry_t *pptes;
pd4 = (pd_entry_t *)pmap->pm_pdir;
pd3 = (pd_entry_t *)PMAP_DIRECT_MAP(npa3);
pd2 = (pd_entry_t *)PMAP_DIRECT_MAP(npa2);
pd1 = (pd_entry_t *)PMAP_DIRECT_MAP(npa1);
pptes = (pd_entry_t *)PMAP_DIRECT_MAP(npa2);
pptes = (pd_entry_t *)PMAP_DIRECT_MAP(npa3);
pd_entry_t *pd, npte;
pd = (pd_entry_t *)pmap->pm_pdir;
pd = (pd_entry_t *)PMAP_DIRECT_MAP(npa);
pd = (pd_entry_t *)PMAP_DIRECT_MAP(npa);
pd = (pd_entry_t *)PMAP_DIRECT_MAP(npa);
pd_entry_t *pdep;
void pmap_pdp_ctor(pd_entry_t *);
void pmap_pdp_ctor_intel(pd_entry_t *);
newpdes * sizeof (pd_entry_t));
int pmap_pdes_valid(vaddr_t, pd_entry_t *);
pd_entry_t pde;
*pd = (pd_entry_t *)PMAP_DIRECT_MAP(pdpa);
pml4e[PDIR_SLOT_EARLY] = (pd_entry_t)early_pte_pages | PG_V | PG_RW |
pml4e = (pd_entry_t *)pmap_kernel()->pm_pdir;
kpm->pm_pdir = (pd_entry_t *)(proc0.p_addr->u_pcb.pcb_cr3 + KERNBASE);
pdp = (paddr_t)&(((pd_entry_t *)dmpd)[i]);
*((pd_entry_t *)va) = ((paddr_t)i << L2_SHIFT);
*((pd_entry_t *)va) |= PG_RW | PG_V | PG_PS | pg_g_kern | PG_U |
pdp = (paddr_t)&(((pd_entry_t *)dmpdp)[i]);
*((pd_entry_t *)va) = dmpd + (i << PAGE_SHIFT);
*((pd_entry_t *)va) |= PG_RW | PG_V | PG_U | PG_M | pg_nx |
pd_entry_t *pml4va, *oldpml4va;
pmap_randomize_level(pd_entry_t *pde, int level)
pd_entry_t *new_pd_va;
pd_entry_t *pdptes;
pdptes = (pd_entry_t *)cr3_host_virt;
#define L2_BASE ((pd_entry_t *)((char *)L1_BASE + L4_SLOT_PTE * NBPD_L3))
#define L3_BASE ((pd_entry_t *)((char *)L2_BASE + L4_SLOT_PTE * NBPD_L2))
#define L4_BASE ((pd_entry_t *)((char *)L3_BASE + L4_SLOT_PTE * NBPD_L1))
#define NTOPLEVEL_PDES (PAGE_SIZE / (sizeof (pd_entry_t)))
#define NPDPG (PAGE_SIZE / sizeof (pd_entry_t))
pd_entry_t *pm_pdir, *pm_pdir_intel;
void pmap_randomize_level(pd_entry_t *, int);
pd_entry_t *pde;
pd_entry_t *pde;
pd_entry_t *pde, oldpde, tmppde;
pd_entry_t *pl1pd, l1pd;
pd_entry_t *pl1pd, l1pd;
pd_entry_t *pl1pd;
pmap_get_pde_pte(pmap_t pm, vaddr_t va, pd_entry_t **pdp, pt_entry_t **ptp)
pd_entry_t *pl1pd, l1pd;
pmap_init_l1(struct l1_ttable *l1, pd_entry_t *l1pt)
pmap_bootstrap(pd_entry_t *kernel_l1pt, vaddr_t vstart, vaddr_t vend)
pd_entry_t pde;
for (l1idx = 0; l1idx < (L1_TABLE_SIZE / sizeof(pd_entry_t)); l1idx++) {
pd_entry_t *pde = (pd_entry_t *) l1pt;
pd_entry_t fl;
pd_entry_t *pde = (pd_entry_t *) l1pt;
pd_entry_t *pde = (pd_entry_t *) l1pt;
pd_entry_t *pde = (pd_entry_t *) l1pt;
pd_entry_t *l1_kva;
pd_entry_t l1_c_pxn;
void pmap_init_l1(struct l1_ttable *, pd_entry_t *);
pd_entry_t *pl1pt;
pl1pt = (pd_entry_t *)va;
pd_entry_t *pl1pd;
pd_entry_t *pcb32_pl1vec; /* PTR to vector_base L1 entry*/
pd_entry_t pcb32_l1vec; /* Value to stuff on ctx sw */
void pmap_bootstrap(pd_entry_t *, vaddr_t, vaddr_t);
int pmap_get_pde_pte(pmap_t, vaddr_t, pd_entry_t **, pt_entry_t **);
int pmap_get_pde(pmap_t, vaddr_t, pd_entry_t **);
pd_entry_t *pdep;
pd_entry_t *
return (pd_entry_t *)(ttb & ~((1<<14)-1));
pd_entry_t *pagedir = read_ttb();
copy_io_area_map(pd_entry_t *new_pd)
pd_entry_t *cur_pd = read_ttb();
copy_io_area_map((pd_entry_t *)l1pagetable);
pmap_bootstrap((pd_entry_t *)kernel_l1pt.pv_va, KERNEL_VM_BASE,
pd_entry_t *pva_intel;
PDE(pmap, pde_index) = (pd_entry_t)(VM_PAGE_TO_PHYS(ptp) |
pva_intel = (pd_entry_t *)pmap->pm_pdir_intel;
pd_entry_t *pva_intel;
pva_intel = (pd_entry_t *)pm->pm_pdir_intel;
bzero((void *)pmap->pm_pdir, PDSLOT_PTE * sizeof(pd_entry_t));
nkpde * sizeof(pd_entry_t));
NBPG - ((PDSLOT_KERN + nkpde) * sizeof(pd_entry_t)));
pd_entry_t *pd, *ptp;
if ((pd = (pd_entry_t *)pmap->pm_pdir_intel) == NULL)
ptp = (pd_entry_t *)pmap_tmpmap_pa(npa);
#define PDP_BASE ((pd_entry_t *)(((char *)PTE_BASE) + (PDSLOT_PTE * NBPG)))
#define APDP_BASE ((pd_entry_t *)(((char *)APTE_BASE) + (PDSLOT_APTE * NBPG)))
#define PDE(pm,i) (((pd_entry_t *)(pm)->pm_pdir)[(i)])
pd_entry_t opde;
*APDP_PDE = (pd_entry_t) (pmap->pm_pdirpa | PG_RW | PG_V |
nkpde * sizeof(pd_entry_t));
((PDSLOT_KERN + nkpde) * sizeof(pd_entry_t)));
pd_entry_t *pd, *ptp;
if ((pd = (pd_entry_t *)pmap->pm_pdir_intel) == 0)
ptp = (pd_entry_t *)pmap_tmpmap_pa(npa);
#define PDP_BASE ((pd_entry_t *)(((char *)PTE_BASE) + (PDSLOT_PTE * NBPG)))
#define APDP_BASE ((pd_entry_t *)(((char *)APTE_BASE) + (PDSLOT_APTE * NBPG)))
#define PDE(pm,i) (((pd_entry_t *)(pm)->pm_pdir)[(i)])
pd_entry_t opde;
pd_entry_t *pva_intel;
PDE(pmap, pde_index) = (pd_entry_t)(VM_PAGE_TO_PHYS(ptp) |
pva_intel = (pd_entry_t *)pmap->pm_pdir_intel;
pd_entry_t *pva_intel;
pva_intel = (pd_entry_t *)pm->pm_pdir_intel;
bzero((void *)pmap->pm_pdir, PDSLOT_PTE * sizeof(pd_entry_t));