pmap_pdetab_t
pmap_md_grow(pmap_pdetab_t *ptb, vaddr_t va, vsize_t vshift,
pmap_md_grow((pmap_pdetab_t *)pdeva, va,
pm->pm_pdetab = (pmap_pdetab_t *)AARCH64_PA_TO_KVA(pm->pm_l0_pa);
efipm->pm_pdetab = (pmap_pdetab_t *)efi_l0va;
#define PMAP_INVALID_PDETAB_ADDRESS ((pmap_pdetab_t *)(VM_MIN_KERNEL_ADDRESS - PAGE_SIZE))
#define PMAP_INVALID_PDETAB_ADDRESS ((pmap_pdetab_t *)(VM_MIN_KERNEL_ADDRESS - PAGE_SIZE))
#define PMAP_INVALID_PDETAB_ADDRESS ((pmap_pdetab_t *)0xdeadbeef)
pmap_md_grow(pmap_pdetab_t *ptb, vaddr_t va, vsize_t vshift,
pmap_md_grow((pmap_pdetab_t *)pdeva, va,
extern pmap_pdetab_t bootstrap_pde[PAGE_SIZE / sizeof(pd_entry_t)];
pmap_pdetab_t pmap_kstart_pdetab PMAP_PDETAB_ALIGN; /* first mid-level pdetab for kernel */
pmap_pdetab_t pmap_kern_pdetab PMAP_PDETAB_ALIGN;
pmap_pdetab_t * pm_pdetab; /* pointer to HW PDEs */
extern pmap_pdetab_t pmap_kern_pdetab;
pmap_pdetab_t *ptb = pmap->pm_pdetab;
pmap_pdetab_t ** const ptb_p = &ptb->pde_pde[idx];
MULT_CTASSERT(sizeof(pmap_pdetab_t *), sizeof(pd_entry_t));
MULT_CTASSERT(sizeof(pd_entry_t), sizeof(pmap_pdetab_t));
pmap_pdetab_t *free_pdetab0; /* free list kept locally */
pmap_pdetab_t *free_pdetab; /* free list kept locally */
static pmap_pdetab_t *
return (pmap_pdetab_t *)pmap_pde_to_va(pde);
pmap_pdetab_t *ptb = pmap->pm_pdetab;
pmap_pdetab_t * const kptb = kpm->pm_pdetab;
pmap_pdetab_t * const uptb = pmap->pm_pdetab;
static pmap_pdetab_t *
pmap_pdetab_t *ptb;
ptb = (pmap_pdetab_t *)PMAP_MAP_PDETABPAGE(ptb_pa);
pmap_pdetab_free(pmap_pdetab_t *ptb)
pmap_pdetab_release(pmap_t pmap, pmap_pdetab_t **ptb_p, bool free_ptb,
pmap_pdetab_t *ptb = *ptb_p;
pmap_pdetab_t *nptb =