pud_pgtable
pmd_t *ret = pud_pgtable(*dir) + ((address >> PMD_SHIFT) & (PTRS_PER_PAGE - 1));
#define pud_page(pud) virt_to_page(pud_pgtable(pud))
#define pud_page(pud) virt_to_page((void *)pud_pgtable(pud))
pmd = pud_pgtable(*pud);
pmd_base = pud_pgtable(*pud);
return virt_to_page(pud_pgtable(pud));
return (pud_t *)pud_pgtable((pud_t) { p4d_val(p4d) });
pmd_t *pmd = pud_pgtable(pudp_get(pud));
#define pud_page(pud) virt_to_page((void *)pud_pgtable(pud))
if (try_to_free_pmd_page(pud_pgtable(*pud)))
if (try_to_free_pmd_page(pud_pgtable(*pud)))
pmd = pud_pgtable(*pud);
#define p4d_pgtable(p4d) ((pud_t *)(pud_pgtable((pud_t){ p4d })))
return pud_pgtable(*pud) + pmd_index(address);
pud_populate(mm, new_pud, pud_pgtable(pud));