p4d_index
return (p4d_t *)PTR_ALIGN_DOWN(pgdp, PAGE_SIZE) + p4d_index(addr);
return pgd_page_paddr(READ_ONCE(*pgdp)) + p4d_index(addr) * sizeof(p4d_t);
return (p4d_t *)__va(pgd_page_paddr(pgd)) + p4d_index(addr);
p4dp += p4d_index(addr);
p4dp = p4d_base + p4d_index(addr);
uintptr_t p4d_index = p4d_index(va);
if (p4d_val(p4dp[p4d_index]) == 0)
p4dp[p4d_index] = pfn_p4d(PFN_DOWN(pa), prot);
if (p4d_val(p4dp[p4d_index]) == 0) {
p4dp[p4d_index] = pfn_p4d(PFN_DOWN(next_phys), PAGE_TABLE);
next_phys = PFN_PHYS(_p4d_pfn(p4dp[p4d_index]));
p4dp = base_p4d + p4d_index(vaddr);
p4dp = base_p4d + p4d_index(vaddr);
ptr = (pud_t *)p4d_page_vaddr(p4dp_get(base_p4d + p4d_index(KASAN_SHADOW_END)));
set_p4d(&base_p4d[p4d_index(KASAN_SHADOW_END)],
return pgd_pgtable(pgdp_get(pgd)) + p4d_index(address);
return (p4d_t *) pgd_deref(pgd) + p4d_index(address);
return (p4d_t *)pgd_page_vaddr(*pgd) + p4d_index(address);
p4d_p += p4d_index(address);
p4d_t *p4d = p4d_page + p4d_index(addr);
p4d = p4d_start + p4d_index(addr);
p4d_t *p4d = p4d_page + p4d_index(vaddr);
p4d_t *p4d = p4d_page + p4d_index(vaddr);
return (p4d_t *)p4d + p4d_index(addr);
p4d_tramp = p4d_page_tramp + p4d_index(paddr);
num_entries = p4d_index(EFI_VA_END);
set_p4d(p4d + p4d_index(restore_jump_address), new_p4d);