Lines Matching refs:pmd

209 static inline int pmd_present(pmd_t pmd)  in pmd_present()  argument
217 return (pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROT_NONE | _PAGE_LEAF)); in pmd_present()
220 static inline int pmd_present(pmd_t pmd) in pmd_present() argument
222 return (pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROT_NONE)); in pmd_present()
226 static inline int pmd_none(pmd_t pmd) in pmd_none() argument
228 return (pmd_val(pmd) == 0); in pmd_none()
231 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument
233 return !pmd_present(pmd) || (pmd_val(pmd) & _PAGE_LEAF); in pmd_bad()
237 static inline bool pmd_leaf(pmd_t pmd) in pmd_leaf() argument
239 return pmd_present(pmd) && (pmd_val(pmd) & _PAGE_LEAF); in pmd_leaf()
242 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() argument
244 WRITE_ONCE(*pmdp, pmd); in set_pmd()
266 static inline struct page *pmd_page(pmd_t pmd) in pmd_page() argument
268 return pfn_to_page(__page_val_to_pfn(pmd_val(pmd))); in pmd_page()
271 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
273 return (unsigned long)pfn_to_virt(__page_val_to_pfn(pmd_val(pmd))); in pmd_page_vaddr()
276 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument
278 return __pte(pmd_val(pmd)); in pmd_pte()
475 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument
477 return pte_protnone(pmd_pte(pmd)); in pmd_protnone()
666 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument
668 return pmd; in pmd_mkhuge()
671 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() argument
673 return __pmd(pmd_val(pmd) & ~(_PAGE_PRESENT|_PAGE_PROT_NONE)); in pmd_mkinvalid()
676 #define __pmd_to_phys(pmd) (__page_val_to_pfn(pmd_val(pmd)) << PAGE_SHIFT) argument
678 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument
680 return ((__pmd_to_phys(pmd) & PMD_MASK) >> PAGE_SHIFT); in pmd_pfn()
691 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
693 return pte_pmd(pte_modify(pmd_pte(pmd), newprot)); in pmd_modify()
697 static inline int pmd_write(pmd_t pmd) in pmd_write() argument
699 return pte_write(pmd_pte(pmd)); in pmd_write()
709 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() argument
711 return pte_dirty(pmd_pte(pmd)); in pmd_dirty()
715 static inline int pmd_young(pmd_t pmd) in pmd_young() argument
717 return pte_young(pmd_pte(pmd)); in pmd_young()
720 static inline int pmd_user(pmd_t pmd) in pmd_user() argument
722 return pte_user(pmd_pte(pmd)); in pmd_user()
725 static inline pmd_t pmd_mkold(pmd_t pmd) in pmd_mkold() argument
727 return pte_pmd(pte_mkold(pmd_pte(pmd))); in pmd_mkold()
730 static inline pmd_t pmd_mkyoung(pmd_t pmd) in pmd_mkyoung() argument
732 return pte_pmd(pte_mkyoung(pmd_pte(pmd))); in pmd_mkyoung()
735 static inline pmd_t pmd_mkwrite_novma(pmd_t pmd) in pmd_mkwrite_novma() argument
737 return pte_pmd(pte_mkwrite_novma(pmd_pte(pmd))); in pmd_mkwrite_novma()
740 static inline pmd_t pmd_wrprotect(pmd_t pmd) in pmd_wrprotect() argument
742 return pte_pmd(pte_wrprotect(pmd_pte(pmd))); in pmd_wrprotect()
745 static inline pmd_t pmd_mkclean(pmd_t pmd) in pmd_mkclean() argument
747 return pte_pmd(pte_mkclean(pmd_pte(pmd))); in pmd_mkclean()
750 static inline pmd_t pmd_mkdirty(pmd_t pmd) in pmd_mkdirty() argument
752 return pte_pmd(pte_mkdirty(pmd_pte(pmd))); in pmd_mkdirty()
755 static inline pmd_t pmd_mkdevmap(pmd_t pmd) in pmd_mkdevmap() argument
757 return pte_pmd(pte_mkdevmap(pmd_pte(pmd))); in pmd_mkdevmap()
761 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
763 page_table_check_pmd_set(mm, pmdp, pmd); in set_pmd_at()
764 return __set_pte_at(mm, (pte_t *)pmdp, pmd_pte(pmd)); in set_pmd_at()
780 static inline bool pmd_user_accessible_page(pmd_t pmd) in pmd_user_accessible_page() argument
782 return pmd_leaf(pmd) && pmd_user(pmd); in pmd_user_accessible_page()
792 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
794 return pmd_leaf(pmd); in pmd_trans_huge()
816 pmd_t pmd = __pmd(atomic_long_xchg((atomic_long_t *)pmdp, 0)); in pmdp_huge_get_and_clear() local
818 page_table_check_pmd_clear(mm, pmd); in pmdp_huge_get_and_clear()
820 return pmd; in pmdp_huge_get_and_clear()
832 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish()
834 page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); in pmdp_establish()
835 return __pmd(atomic_long_xchg((atomic_long_t *)pmdp, pmd_val(pmd))); in pmdp_establish()
888 #define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val(pmd) }) argument