__pud
set_pud(pudp, __pud((unsigned long)pmdp));
set_pud(pud, __pud(__pa(pmd) | PMD_TYPE_TABLE));
*pudp = __pud(0); \
set_pud(pudp, __pud(__phys_to_pud_val(pmdp) | prot));
return __pud(pte_val(pte));
return __pud((pud_val(pud) & ~mask) | val);
#define pfn_pud(pfn,prot) __pud(__phys_to_pud_val((phys_addr_t)(pfn) << PAGE_SHIFT) | pgprot_val(prot))
set_pud(pudp, __pud(0));
val = __pud(set_pageattr_masks(pud_val(val), walk));
__pud(pud_val(pud) & ~PUD_SECT_RDONLY));
set_pud(pud, __pud((unsigned long)pmd));
set_pud(pudp, __pud((unsigned long)invalid_pmd_table));
val = __pud(set_pageattr_masks(pud_val(val), walk));
set_pud(pud, __pud((unsigned long)pmd));
set_pud(pud, __pud((PxD_FLAG_PRESENT | PxD_FLAG_VALID) +
set_pud(pud, __pud(0));
*pud = __pud(__pgtable_ptr_val(pmd) | PUD_VAL_BITS);
*pudp = __pud(0);
return __pud(pud_val(pud) | _PAGE_PTE);
*pudp = __pud(val);
*pudp = __pud(0);
return __pud(pte_val(pte));
old_pud = __pud(pud_hugepage_update(vma->vm_mm, address, pudp, _PAGE_PRESENT, _PAGE_INVALID));
return __pud(pud_val(pud) | pgprot_val(pgprot));
return __pud_mkhuge(pud_set_protbits(__pud(pudv), pgprot));
return pud_set_protbits(__pud(pudv), newprot);
old_pud = __pud(old);
set_pud(pud, __pud((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
set_pud(pudp, __pud(0));
return __pud((pfn << _PAGE_PFN_SHIFT) | pgprot_val(prot));
pud_t pud = __pud(xchg(&pudp->pud, 0));
return __pud(atomic_long_xchg((atomic_long_t *)pudp, pud_val(pud)));
return __pud(pud_val(pud) & ~(_PAGE_PRESENT | _PAGE_PROT_NONE));
return __pud(pte_val(pte));
set_pud(dst_pudp, __pud(pud_val(pud) | pgprot_val(prot)));
val = __pud(set_pageattr_masks(pud_val(val), walk));
entry = __pud(pa);
pud_t pud_z = __pud(__pa(kasan_early_shadow_pmd) | _REGION3_ENTRY);
set_pud(pud, __pud(_REGION3_ENTRY | __pa(pmd)));
return __pud(pud_val(pud) & ~pgprot_val(prot));
return __pud(pud_val(pud) | pgprot_val(prot));
set_pud(pud, __pud(_REGION3_ENTRY_EMPTY));
pudp_xchg_direct(mm, addr, pudp, __pud(_REGION3_ENTRY_EMPTY));
present = pud_present(__pud(rste));
none = pud_none(__pud(rste));
new = __pud(__pa(pm_dir) | _REGION3_ENTRY);
new = __pud(pud_val(new) & PUD_MASK);
set_pud(pud, __pud(__pa(addr) | prot));
#define pud_clear(xp) do { set_pud(xp, __pud(0)); } while (0)
set_pud(pud, __pud((unsigned long)pmd));
set_pud(pud, __pud(_PAGE_TABLE + __pa(pmd)))
set_pud(pud, __pud(_PAGE_NEEDSYNC));
set_pud(pud, __pud(PUD_FLAGS | __pa(pmd)));
set_pud(pud, __pud(pud_val(*pud) | _PAGE_USER));
set_pud(pud, __pud(_PAGE_TABLE | pa));
set_pud(pud, __pud(_PAGE_TABLE | __pa(pmd)));
set_pud_safe(pud, __pud(_PAGE_TABLE | __pa(pmd)));
return __pud(xchg((pudval_t *)xp, 0));
set_pud(pudp, __pud(0));
return __pud(pfn | check_pgprot(pgprot));
pud_result = __pud(val);
pud = __pud(__pa(pmd_p) | (PGTABLE_PROT & ptemask));
set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE));
pudval = __pud((addr - info->offset) | info->page_flag);
set_pud(pud, __pud(__pa(pmd) | info->kernpg_flag));
set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE |
set_pud_init(pud, __pud(0), init);
kasan_early_shadow_pud[i] = __pud(pud_val);
set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE));
set_pud(pudp, __pud(__pa(pmd) | _PAGE_PRESENT));
set_pud(pud, __pud(_KERNPG_TABLE | __pa(new_pmd_page)));
set_pud(pud, __pud(pud_val(*pud) & ~_PAGE_NX));
__pud(__pa(pmd) | pgprot_val(pgtable_prot)));
set_pud(pud, __pud(0));
pud[idx_pmd] = __pud(_PAGE_TABLE | pmd_phys);
#define __pmd(x) ((pmd_t) { __pud(x) } )
#define split_huge_pud(__vma, __pud, __address) \
pud_t *____pud = (__pud); \
__split_huge_pud(__vma, __pud, __address); \
WRITE_ONCE(*args->pudp, __pud(0));