Lines Matching refs:pmd
215 static inline int pmd_present(pmd_t pmd) in pmd_present() argument
223 return (pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROT_NONE | _PAGE_LEAF)); in pmd_present()
226 static inline int pmd_present(pmd_t pmd) in pmd_present() argument
228 return (pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROT_NONE)); in pmd_present()
232 static inline int pmd_none(pmd_t pmd) in pmd_none() argument
234 return (pmd_val(pmd) == 0); in pmd_none()
237 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument
239 return !pmd_present(pmd) || (pmd_val(pmd) & _PAGE_LEAF); in pmd_bad()
243 static inline bool pmd_leaf(pmd_t pmd) in pmd_leaf() argument
245 return pmd_present(pmd) && (pmd_val(pmd) & _PAGE_LEAF); in pmd_leaf()
248 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() argument
250 WRITE_ONCE(*pmdp, pmd); in set_pmd()
272 static inline struct page *pmd_page(pmd_t pmd) in pmd_page() argument
274 return pfn_to_page(__page_val_to_pfn(pmd_val(pmd))); in pmd_page()
277 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
279 return (unsigned long)pfn_to_virt(__page_val_to_pfn(pmd_val(pmd))); in pmd_page_vaddr()
282 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument
284 return __pte(pmd_val(pmd)); in pmd_pte()
545 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument
547 return pte_protnone(pmd_pte(pmd)); in pmd_protnone()
759 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument
761 return pmd; in pmd_mkhuge()
764 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() argument
766 return __pmd(pmd_val(pmd) & ~(_PAGE_PRESENT|_PAGE_PROT_NONE)); in pmd_mkinvalid()
769 #define __pmd_to_phys(pmd) (__page_val_to_pfn(pmd_val(pmd)) << PAGE_SHIFT) argument
771 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument
773 return ((__pmd_to_phys(pmd) & PMD_MASK) >> PAGE_SHIFT); in pmd_pfn()
785 static inline pgprot_t pmd_pgprot(pmd_t pmd) in pmd_pgprot() argument
787 return pte_pgprot(pmd_pte(pmd)); in pmd_pgprot()
796 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
798 return pte_pmd(pte_modify(pmd_pte(pmd), newprot)); in pmd_modify()
802 static inline int pmd_write(pmd_t pmd) in pmd_write() argument
804 return pte_write(pmd_pte(pmd)); in pmd_write()
814 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() argument
816 return pte_dirty(pmd_pte(pmd)); in pmd_dirty()
820 static inline int pmd_young(pmd_t pmd) in pmd_young() argument
822 return pte_young(pmd_pte(pmd)); in pmd_young()
825 static inline int pmd_user(pmd_t pmd) in pmd_user() argument
827 return pte_user(pmd_pte(pmd)); in pmd_user()
830 static inline pmd_t pmd_mkold(pmd_t pmd) in pmd_mkold() argument
832 return pte_pmd(pte_mkold(pmd_pte(pmd))); in pmd_mkold()
835 static inline pmd_t pmd_mkyoung(pmd_t pmd) in pmd_mkyoung() argument
837 return pte_pmd(pte_mkyoung(pmd_pte(pmd))); in pmd_mkyoung()
840 static inline pmd_t pmd_mkwrite_novma(pmd_t pmd) in pmd_mkwrite_novma() argument
842 return pte_pmd(pte_mkwrite_novma(pmd_pte(pmd))); in pmd_mkwrite_novma()
845 static inline pmd_t pmd_wrprotect(pmd_t pmd) in pmd_wrprotect() argument
847 return pte_pmd(pte_wrprotect(pmd_pte(pmd))); in pmd_wrprotect()
850 static inline pmd_t pmd_mkclean(pmd_t pmd) in pmd_mkclean() argument
852 return pte_pmd(pte_mkclean(pmd_pte(pmd))); in pmd_mkclean()
855 static inline pmd_t pmd_mkdirty(pmd_t pmd) in pmd_mkdirty() argument
857 return pte_pmd(pte_mkdirty(pmd_pte(pmd))); in pmd_mkdirty()
861 static inline bool pmd_special(pmd_t pmd) in pmd_special() argument
863 return pte_special(pmd_pte(pmd)); in pmd_special()
866 static inline pmd_t pmd_mkspecial(pmd_t pmd) in pmd_mkspecial() argument
868 return pte_pmd(pte_mkspecial(pmd_pte(pmd))); in pmd_mkspecial()
885 static inline bool pmd_uffd_wp(pmd_t pmd) in pmd_uffd_wp() argument
887 return pte_uffd_wp(pmd_pte(pmd)); in pmd_uffd_wp()
890 static inline pmd_t pmd_mkuffd_wp(pmd_t pmd) in pmd_mkuffd_wp() argument
892 return pte_pmd(pte_mkuffd_wp(pmd_pte(pmd))); in pmd_mkuffd_wp()
895 static inline pmd_t pmd_clear_uffd_wp(pmd_t pmd) in pmd_clear_uffd_wp() argument
897 return pte_pmd(pte_clear_uffd_wp(pmd_pte(pmd))); in pmd_clear_uffd_wp()
900 static inline bool pmd_swp_uffd_wp(pmd_t pmd) in pmd_swp_uffd_wp() argument
902 return pte_swp_uffd_wp(pmd_pte(pmd)); in pmd_swp_uffd_wp()
905 static inline pmd_t pmd_swp_mkuffd_wp(pmd_t pmd) in pmd_swp_mkuffd_wp() argument
907 return pte_pmd(pte_swp_mkuffd_wp(pmd_pte(pmd))); in pmd_swp_mkuffd_wp()
910 static inline pmd_t pmd_swp_clear_uffd_wp(pmd_t pmd) in pmd_swp_clear_uffd_wp() argument
912 return pte_pmd(pte_swp_clear_uffd_wp(pmd_pte(pmd))); in pmd_swp_clear_uffd_wp()
917 static inline bool pmd_soft_dirty(pmd_t pmd) in pmd_soft_dirty() argument
919 return pte_soft_dirty(pmd_pte(pmd)); in pmd_soft_dirty()
922 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd) in pmd_mksoft_dirty() argument
924 return pte_pmd(pte_mksoft_dirty(pmd_pte(pmd))); in pmd_mksoft_dirty()
927 static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd) in pmd_clear_soft_dirty() argument
929 return pte_pmd(pte_clear_soft_dirty(pmd_pte(pmd))); in pmd_clear_soft_dirty()
933 static inline bool pmd_swp_soft_dirty(pmd_t pmd) in pmd_swp_soft_dirty() argument
935 return pte_swp_soft_dirty(pmd_pte(pmd)); in pmd_swp_soft_dirty()
938 static inline pmd_t pmd_swp_mksoft_dirty(pmd_t pmd) in pmd_swp_mksoft_dirty() argument
940 return pte_pmd(pte_swp_mksoft_dirty(pmd_pte(pmd))); in pmd_swp_mksoft_dirty()
943 static inline pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd) in pmd_swp_clear_soft_dirty() argument
945 return pte_pmd(pte_swp_clear_soft_dirty(pmd_pte(pmd))); in pmd_swp_clear_soft_dirty()
951 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
953 page_table_check_pmd_set(mm, pmdp, pmd); in set_pmd_at()
954 return __set_pte_at(mm, (pte_t *)pmdp, pmd_pte(pmd)); in set_pmd_at()
970 static inline bool pmd_user_accessible_page(pmd_t pmd) in pmd_user_accessible_page() argument
972 return pmd_leaf(pmd) && pmd_user(pmd); in pmd_user_accessible_page()
982 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
984 return pmd_leaf(pmd); in pmd_trans_huge()
1007 pmd_t pmd = __pmd(xchg(&pmdp->pmd, 0)); in pmdp_huge_get_and_clear() local
1009 pmd_t pmd = *pmdp; in pmdp_huge_get_and_clear()
1014 page_table_check_pmd_clear(mm, pmd); in pmdp_huge_get_and_clear()
1016 return pmd; in pmdp_huge_get_and_clear()
1028 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish()
1030 page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); in pmdp_establish()
1031 return __pmd(atomic_long_xchg((atomic_long_t *)pmdp, pmd_val(pmd))); in pmdp_establish()
1195 #define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val(pmd) }) argument