Lines Matching full:pmd

28 bool __init __early_make_pgtable(unsigned long address, pmdval_t pmd);
73 #define set_pmd(pmdp, pmd) native_set_pmd(pmdp, pmd) argument
97 #define pmd_clear(pmd) native_pmd_clear(pmd) argument
137 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() argument
139 return pmd_flags(pmd) & _PAGE_DIRTY; in pmd_dirty()
143 static inline int pmd_young(pmd_t pmd) in pmd_young() argument
145 return pmd_flags(pmd) & _PAGE_ACCESSED; in pmd_young()
194 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument
196 phys_addr_t pfn = pmd_val(pmd); in pmd_pfn()
198 return (pfn & pmd_pfn_mask(pmd)) >> PAGE_SHIFT; in pmd_pfn()
235 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
237 return (pmd_val(pmd) & (_PAGE_PSE|_PAGE_DEVMAP)) == _PAGE_PSE; in pmd_trans_huge()
254 static inline int pmd_devmap(pmd_t pmd) in pmd_devmap() argument
256 return !!(pmd_val(pmd) & _PAGE_DEVMAP); in pmd_devmap()
374 static inline pmd_t pmd_set_flags(pmd_t pmd, pmdval_t set) in pmd_set_flags() argument
376 pmdval_t v = native_pmd_val(pmd); in pmd_set_flags()
381 static inline pmd_t pmd_clear_flags(pmd_t pmd, pmdval_t clear) in pmd_clear_flags() argument
383 pmdval_t v = native_pmd_val(pmd); in pmd_clear_flags()
389 static inline int pmd_uffd_wp(pmd_t pmd) in pmd_uffd_wp() argument
391 return pmd_flags(pmd) & _PAGE_UFFD_WP; in pmd_uffd_wp()
394 static inline pmd_t pmd_mkuffd_wp(pmd_t pmd) in pmd_mkuffd_wp() argument
396 return pmd_set_flags(pmd, _PAGE_UFFD_WP); in pmd_mkuffd_wp()
399 static inline pmd_t pmd_clear_uffd_wp(pmd_t pmd) in pmd_clear_uffd_wp() argument
401 return pmd_clear_flags(pmd, _PAGE_UFFD_WP); in pmd_clear_uffd_wp()
405 static inline pmd_t pmd_mkold(pmd_t pmd) in pmd_mkold() argument
407 return pmd_clear_flags(pmd, _PAGE_ACCESSED); in pmd_mkold()
410 static inline pmd_t pmd_mkclean(pmd_t pmd) in pmd_mkclean() argument
412 return pmd_clear_flags(pmd, _PAGE_DIRTY); in pmd_mkclean()
415 static inline pmd_t pmd_wrprotect(pmd_t pmd) in pmd_wrprotect() argument
417 return pmd_clear_flags(pmd, _PAGE_RW); in pmd_wrprotect()
420 static inline pmd_t pmd_mkdirty(pmd_t pmd) in pmd_mkdirty() argument
422 return pmd_set_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY); in pmd_mkdirty()
425 static inline pmd_t pmd_mkdevmap(pmd_t pmd) in pmd_mkdevmap() argument
427 return pmd_set_flags(pmd, _PAGE_DEVMAP); in pmd_mkdevmap()
430 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument
432 return pmd_set_flags(pmd, _PAGE_PSE); in pmd_mkhuge()
435 static inline pmd_t pmd_mkyoung(pmd_t pmd) in pmd_mkyoung() argument
437 return pmd_set_flags(pmd, _PAGE_ACCESSED); in pmd_mkyoung()
440 static inline pmd_t pmd_mkwrite(pmd_t pmd) in pmd_mkwrite() argument
442 return pmd_set_flags(pmd, _PAGE_RW); in pmd_mkwrite()
505 static inline int pmd_soft_dirty(pmd_t pmd) in pmd_soft_dirty() argument
507 return pmd_flags(pmd) & _PAGE_SOFT_DIRTY; in pmd_soft_dirty()
520 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd) in pmd_mksoft_dirty() argument
522 return pmd_set_flags(pmd, _PAGE_SOFT_DIRTY); in pmd_mksoft_dirty()
535 static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd) in pmd_clear_soft_dirty() argument
537 return pmd_clear_flags(pmd, _PAGE_SOFT_DIRTY); in pmd_clear_soft_dirty()
602 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() argument
604 return pfn_pmd(pmd_pfn(pmd), in pmd_mkinvalid()
605 __pgprot(pmd_flags(pmd) & ~(_PAGE_PRESENT|_PAGE_PROTNONE))); in pmd_mkinvalid()
624 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
626 pmdval_t val = pmd_val(pmd), oldval = val; in pmd_modify()
760 static inline int pmd_present(pmd_t pmd) in pmd_present() argument
768 return pmd_flags(pmd) & (_PAGE_PRESENT | _PAGE_PROTNONE | _PAGE_PSE); in pmd_present()
782 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument
784 return (pmd_flags(pmd) & (_PAGE_PROTNONE | _PAGE_PRESENT)) in pmd_protnone()
789 static inline int pmd_none(pmd_t pmd) in pmd_none() argument
793 unsigned long val = native_pmd_val(pmd); in pmd_none()
797 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
799 return (unsigned long)__va(pmd_val(pmd) & pmd_pfn_mask(pmd)); in pmd_page_vaddr()
806 #define pmd_page(pmd) pfn_to_page(pmd_pfn(pmd)) argument
817 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument
819 return (pmd_flags(pmd) & ~(_PAGE_USER | _PAGE_ACCESSED)) != in pmd_bad()
1014 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
1016 page_table_check_pmd_set(mm, addr, pmdp, pmd); in set_pmd_at()
1017 set_pmd(pmdp, pmd); in set_pmd_at()
1108 static inline int pmd_write(pmd_t pmd) in pmd_write() argument
1110 return pmd_flags(pmd) & _PAGE_RW; in pmd_write()
1117 pmd_t pmd = native_pmdp_get_and_clear(pmdp); in pmdp_huge_get_and_clear() local
1119 page_table_check_pmd_clear(mm, addr, pmd); in pmdp_huge_get_and_clear()
1121 return pmd; in pmdp_huge_get_and_clear()
1151 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish()
1153 page_table_check_pmd_set(vma->vm_mm, address, pmdp, pmd); in pmdp_establish()
1155 return xchg(pmdp, pmd); in pmdp_establish()
1158 WRITE_ONCE(*pmdp, pmd); in pmdp_establish()
1279 unsigned long addr, pmd_t *pmd) in update_mmu_cache_pmd() argument
1321 static inline pmd_t pmd_swp_mksoft_dirty(pmd_t pmd) in pmd_swp_mksoft_dirty() argument
1323 return pmd_set_flags(pmd, _PAGE_SWP_SOFT_DIRTY); in pmd_swp_mksoft_dirty()
1326 static inline int pmd_swp_soft_dirty(pmd_t pmd) in pmd_swp_soft_dirty() argument
1328 return pmd_flags(pmd) & _PAGE_SWP_SOFT_DIRTY; in pmd_swp_soft_dirty()
1331 static inline pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd) in pmd_swp_clear_soft_dirty() argument
1333 return pmd_clear_flags(pmd, _PAGE_SWP_SOFT_DIRTY); in pmd_swp_clear_soft_dirty()
1354 static inline pmd_t pmd_swp_mkuffd_wp(pmd_t pmd) in pmd_swp_mkuffd_wp() argument
1356 return pmd_set_flags(pmd, _PAGE_SWP_UFFD_WP); in pmd_swp_mkuffd_wp()
1359 static inline int pmd_swp_uffd_wp(pmd_t pmd) in pmd_swp_uffd_wp() argument
1361 return pmd_flags(pmd) & _PAGE_SWP_UFFD_WP; in pmd_swp_uffd_wp()
1364 static inline pmd_t pmd_swp_clear_uffd_wp(pmd_t pmd) in pmd_swp_clear_uffd_wp() argument
1366 return pmd_clear_flags(pmd, _PAGE_SWP_UFFD_WP); in pmd_swp_clear_uffd_wp()
1393 * 'pteval' can come from a PTE, PMD or PUD. We only check
1417 static inline bool pmd_access_permitted(pmd_t pmd, bool write) in pmd_access_permitted() argument
1419 return __pte_access_permitted(pmd_val(pmd), write); in pmd_access_permitted()
1456 static inline bool pmd_user_accessible_page(pmd_t pmd) in pmd_user_accessible_page() argument
1458 return pmd_leaf(pmd) && (pmd_val(pmd) & _PAGE_PRESENT) && (pmd_val(pmd) & _PAGE_USER); in pmd_user_accessible_page()