pmd_pte
#define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd)))
#define pmd_mkwrite_novma(pmd) pte_pmd(pte_mkwrite_novma(pmd_pte(pmd)))
#define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd)))
#define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd)))
#define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd)))
#define pmd_mkhuge(pmd) pte_pmd(pte_mkhuge(pmd_pte(pmd)))
#define pmd_mkinvalid(pmd) pte_pmd(pte_mknotpresent(pmd_pte(pmd)))
#define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd)))
#define pmd_write(pmd) pte_write(pmd_pte(pmd))
#define pmd_young(pmd) pte_young(pmd_pte(pmd))
#define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd))
return pte_pmd(pte_modify(pmd_pte(pmd), newprot));
pmd_pte(entry), dirty);
(pte_access_permitted(pmd_pte(pmd), (write)))
return pte_protnone(pmd_pte(pmd));
#define pmd_present(pmd) pte_present(pmd_pte(pmd))
#define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd))
#define pmd_young(pmd) pte_young(pmd_pte(pmd))
#define pmd_valid(pmd) pte_valid(pmd_pte(pmd))
#define pmd_user(pmd) pte_user(pmd_pte(pmd))
#define pmd_user_exec(pmd) pte_user_exec(pmd_pte(pmd))
#define pmd_cont(pmd) pte_cont(pmd_pte(pmd))
#define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd)))
#define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd)))
#define pmd_mkwrite_novma(pmd) pte_pmd(pte_mkwrite_novma(pmd_pte(pmd)))
#define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd)))
#define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd)))
#define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd)))
#define pmd_mkinvalid(pmd) pte_pmd(pte_mkinvalid(pmd_pte(pmd)))
#define pmd_uffd_wp(pmd) pte_uffd_wp(pmd_pte(pmd))
#define pmd_mkuffd_wp(pmd) pte_pmd(pte_mkuffd_wp(pmd_pte(pmd)))
#define pmd_clear_uffd_wp(pmd) pte_pmd(pte_clear_uffd_wp(pmd_pte(pmd)))
#define pmd_swp_uffd_wp(pmd) pte_swp_uffd_wp(pmd_pte(pmd))
#define pmd_swp_mkuffd_wp(pmd) pte_pmd(pte_swp_mkuffd_wp(pmd_pte(pmd)))
pte_pmd(pte_swp_clear_uffd_wp(pmd_pte(pmd)))
#define pmd_write(pmd) pte_write(pmd_pte(pmd))
#define __pmd_to_phys(pmd) __pte_to_phys(pmd_pte(pmd))
__set_ptes_anysz(mm, addr, (pte_t *)pmdp, pmd_pte(pmd), nr, PMD_SIZE);
return pmd_pte(pmd_mkhuge(pmd_mkcont(pte_pmd(entry))));
return pmd_pte(pmd_mkhuge(pte_pmd(entry)));
#define pmd_pfn(pmd) pte_pfn(pmd_pte(pmd))
#define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd))
#define pmd_young(pmd) pte_young(pmd_pte(pmd))
#define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd)))
#define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd)))
#define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd)))
#define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd)))
#define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd)))
#define pmd_mkwrite_novma(pmd) pte_pmd(pte_mkwrite_novma(pmd_pte(pmd)))
#define pmd_soft_dirty(pmd) pte_soft_dirty(pmd_pte(pmd))
#define pmd_mksoft_dirty(pmd) pte_pmd(pte_mksoft_dirty(pmd_pte(pmd)))
#define pmd_clear_soft_dirty(pmd) pte_pmd(pte_clear_soft_dirty(pmd_pte(pmd)))
#define pmd_swp_mksoft_dirty(pmd) pte_pmd(pte_swp_mksoft_dirty(pmd_pte(pmd)))
#define pmd_swp_soft_dirty(pmd) pte_swp_soft_dirty(pmd_pte(pmd))
#define pmd_swp_clear_soft_dirty(pmd) pte_pmd(pte_swp_clear_soft_dirty(pmd_pte(pmd)))
return pte_protnone(pmd_pte(pmd));
#define pmd_write(pmd) pte_write(pmd_pte(pmd))
return pte_access_permitted(pmd_pte(pmd), write);
return pmd_leaf(pmd) && pte_user_accessible_page(pmd_pte(pmd), addr);
#define __pmd_to_swp_entry(pmd) (__pte_to_swp_entry(pmd_pte(pmd)))
WARN_ON(pte_hw_valid(pmd_pte(*pmdp)) && !pte_protnone(pmd_pte(*pmdp)));
return set_pte_at_unchecked(mm, addr, pmdp_ptep(pmdp), pmd_pte(pmd));
pmd_pte(entry), address, MMU_PAGE_2M);
return pte_page(pmd_pte(pmd));
static inline pte_t pmd_pte(pmd_t pmd);
return ptep_set_access_flags(vma, address, (pte_t *)pmdp, pmd_pte(entry), dirty);
return pte_protnone(pmd_pte(pmd));
return pte_pgprot(pmd_pte(pmd));
return pte_pmd(pte_modify(pmd_pte(pmd), newprot));
return pte_write(pmd_pte(pmd));
return pte_dirty(pmd_pte(pmd));
return pte_young(pmd_pte(pmd));
return pte_user(pmd_pte(pmd));
return pte_pmd(pte_mkold(pmd_pte(pmd)));
return pte_pmd(pte_mkyoung(pmd_pte(pmd)));
return pte_pmd(pte_mkwrite_novma(pmd_pte(pmd)));
return pte_pmd(pte_wrprotect(pmd_pte(pmd)));
return pte_pmd(pte_mkclean(pmd_pte(pmd)));
return pte_pmd(pte_mkdirty(pmd_pte(pmd)));
return pte_special(pmd_pte(pmd));
return pte_pmd(pte_mkspecial(pmd_pte(pmd)));
return pte_uffd_wp(pmd_pte(pmd));
return pte_pmd(pte_mkuffd_wp(pmd_pte(pmd)));
return pte_pmd(pte_clear_uffd_wp(pmd_pte(pmd)));
return pte_swp_uffd_wp(pmd_pte(pmd));
return pte_pmd(pte_swp_mkuffd_wp(pmd_pte(pmd)));
return pte_pmd(pte_swp_clear_uffd_wp(pmd_pte(pmd)));
return pte_soft_dirty(pmd_pte(pmd));
return pte_pmd(pte_mksoft_dirty(pmd_pte(pmd)));
return pte_pmd(pte_clear_soft_dirty(pmd_pte(pmd)));
return pte_swp_soft_dirty(pmd_pte(pmd));
return pte_pmd(pte_swp_mksoft_dirty(pmd_pte(pmd)));
return pte_pmd(pte_swp_clear_soft_dirty(pmd_pte(pmd)));
return __set_pte_at(mm, (pte_t *)pmdp, pmd_pte(pmd));