Lines Matching full: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()
474 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument
476 return pte_protnone(pmd_pte(pmd)); in pmd_protnone()
683 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument
685 return pmd; in pmd_mkhuge()
688 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() argument
690 return __pmd(pmd_val(pmd) & ~(_PAGE_PRESENT|_PAGE_PROT_NONE)); in pmd_mkinvalid()
693 #define __pmd_to_phys(pmd) (__page_val_to_pfn(pmd_val(pmd)) << PAGE_SHIFT) argument
695 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument
697 return ((__pmd_to_phys(pmd) & PMD_MASK) >> PAGE_SHIFT); in pmd_pfn()
709 static inline pgprot_t pmd_pgprot(pmd_t pmd) in pmd_pgprot() argument
711 return pte_pgprot(pmd_pte(pmd)); in pmd_pgprot()
720 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
722 return pte_pmd(pte_modify(pmd_pte(pmd), newprot)); in pmd_modify()
726 static inline int pmd_write(pmd_t pmd) in pmd_write() argument
728 return pte_write(pmd_pte(pmd)); in pmd_write()
738 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() argument
740 return pte_dirty(pmd_pte(pmd)); in pmd_dirty()
744 static inline int pmd_young(pmd_t pmd) in pmd_young() argument
746 return pte_young(pmd_pte(pmd)); in pmd_young()
749 static inline int pmd_user(pmd_t pmd) in pmd_user() argument
751 return pte_user(pmd_pte(pmd)); in pmd_user()
754 static inline pmd_t pmd_mkold(pmd_t pmd) in pmd_mkold() argument
756 return pte_pmd(pte_mkold(pmd_pte(pmd))); in pmd_mkold()
759 static inline pmd_t pmd_mkyoung(pmd_t pmd) in pmd_mkyoung() argument
761 return pte_pmd(pte_mkyoung(pmd_pte(pmd))); in pmd_mkyoung()
764 static inline pmd_t pmd_mkwrite_novma(pmd_t pmd) in pmd_mkwrite_novma() argument
766 return pte_pmd(pte_mkwrite_novma(pmd_pte(pmd))); in pmd_mkwrite_novma()
769 static inline pmd_t pmd_wrprotect(pmd_t pmd) in pmd_wrprotect() argument
771 return pte_pmd(pte_wrprotect(pmd_pte(pmd))); in pmd_wrprotect()
774 static inline pmd_t pmd_mkclean(pmd_t pmd) in pmd_mkclean() argument
776 return pte_pmd(pte_mkclean(pmd_pte(pmd))); in pmd_mkclean()
779 static inline pmd_t pmd_mkdirty(pmd_t pmd) in pmd_mkdirty() argument
781 return pte_pmd(pte_mkdirty(pmd_pte(pmd))); in pmd_mkdirty()
785 static inline bool pmd_special(pmd_t pmd) in pmd_special() argument
787 return pte_special(pmd_pte(pmd)); in pmd_special()
790 static inline pmd_t pmd_mkspecial(pmd_t pmd) in pmd_mkspecial() argument
792 return pte_pmd(pte_mkspecial(pmd_pte(pmd))); in pmd_mkspecial()
809 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
811 page_table_check_pmd_set(mm, pmdp, pmd); in set_pmd_at()
812 return __set_pte_at(mm, (pte_t *)pmdp, pmd_pte(pmd)); in set_pmd_at()
828 static inline bool pmd_user_accessible_page(pmd_t pmd) in pmd_user_accessible_page() argument
830 return pmd_leaf(pmd) && pmd_user(pmd); in pmd_user_accessible_page()
840 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
842 return pmd_leaf(pmd); in pmd_trans_huge()
864 pmd_t pmd = __pmd(atomic_long_xchg((atomic_long_t *)pmdp, 0)); in pmdp_huge_get_and_clear() local
866 page_table_check_pmd_clear(mm, pmd); in pmdp_huge_get_and_clear()
868 return pmd; in pmdp_huge_get_and_clear()
880 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish()
882 page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); in pmdp_establish()
883 return __pmd(atomic_long_xchg((atomic_long_t *)pmdp, pmd_val(pmd))); in pmdp_establish()
1045 #define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val(pmd) }) argument