p4d_page
extern struct page *p4d_page(p4d_t p4d);
extern struct page *p4d_page(p4d_t p4d);
return p4d_page(p4d) == virt_to_page(lm_alias(kasan_early_shadow_pud));
struct page *page = p4d_page(*p4d);
free_vmemmap_storage(p4d_page(p4d), P4D_SIZE, altmap);
void set_pte_vaddr_p4d(p4d_t *p4d_page, unsigned long vaddr, pte_t new_pte);
static int ident_p4d_init(struct x86_mapping_info *info, p4d_t *p4d_page,
p4d_t *p4d = p4d_page + p4d_index(addr);
free_pagetable(p4d_page(*p4d), 0);
get_page_bootmem(section_nr, p4d_page(*p4d), MIX_SECTION_INFO);
void set_pte_vaddr_p4d(p4d_t *p4d_page, unsigned long vaddr, pte_t new_pte)
p4d_t *p4d = p4d_page + p4d_index(vaddr);
p4d_t *p4d_page;
p4d_page = p4d_offset(pgd, 0);
set_pte_vaddr_p4d(p4d_page, vaddr, pteval);
phys_p4d_init(p4d_t *p4d_page, unsigned long paddr, unsigned long paddr_end,
return phys_pud_init((pud_t *) p4d_page, paddr, paddr_end,
p4d_t *p4d = p4d_page + p4d_index(vaddr);
#define pgd_page(pgd) (p4d_page((p4d_t){ pgd }))
pud_free(&init_mm, (pud_t *)page_to_virt(p4d_page(*p4d)));
return p4d_page(p4d) == virt_to_page(lm_alias(kasan_early_shadow_pud));
if (p4d_page(val) == virt_to_page(lm_alias(kasan_early_shadow_pud)))
return p4d_page(*p4d) + ((addr & ~P4D_MASK) >> PAGE_SHIFT);