Lines Matching refs: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
123 static inline pmd_t pmd_set_flags(pmd_t pmd, pmdval_t set) in pmd_set_flags() argument
125 pmdval_t v = native_pmd_val(pmd); in pmd_set_flags()
130 static inline pmd_t pmd_clear_flags(pmd_t pmd, pmdval_t clear) in pmd_clear_flags() argument
132 pmdval_t v = native_pmd_val(pmd); in pmd_clear_flags()
177 static inline bool pmd_dirty(pmd_t pmd) in pmd_dirty() argument
179 return pmd_flags(pmd) & _PAGE_DIRTY_BITS; in pmd_dirty()
182 static inline bool pmd_shstk(pmd_t pmd) in pmd_shstk() argument
185 (pmd_flags(pmd) & (_PAGE_RW | _PAGE_DIRTY | _PAGE_PSE)) == in pmd_shstk()
190 static inline int pmd_young(pmd_t pmd) in pmd_young() argument
192 return pmd_flags(pmd) & _PAGE_ACCESSED; in pmd_young()
222 static inline int pmd_write(pmd_t pmd) in pmd_write() argument
228 return (pmd_flags(pmd) & _PAGE_RW) || pmd_shstk(pmd); in pmd_write()
270 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument
272 phys_addr_t pfn = pmd_val(pmd); in pmd_pfn()
274 return (pfn & pmd_pfn_mask(pmd)) >> PAGE_SHIFT; in pmd_pfn()
312 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
314 return (pmd_val(pmd) & (_PAGE_PSE|_PAGE_DEVMAP)) == _PAGE_PSE; in pmd_trans_huge()
331 static inline int pmd_devmap(pmd_t pmd) in pmd_devmap() argument
333 return !!(pmd_val(pmd) & _PAGE_DEVMAP); in pmd_devmap()
349 static inline bool pmd_special(pmd_t pmd) in pmd_special() argument
351 return pmd_flags(pmd) & _PAGE_SPECIAL; in pmd_special()
354 static inline pmd_t pmd_mkspecial(pmd_t pmd) in pmd_mkspecial() argument
356 return pmd_set_flags(pmd, _PAGE_SPECIAL); in pmd_mkspecial()
543 static inline pmd_t pmd_mksaveddirty(pmd_t pmd) in pmd_mksaveddirty() argument
545 pmdval_t v = native_pmd_val(pmd); in pmd_mksaveddirty()
552 static inline pmd_t pmd_clear_saveddirty(pmd_t pmd) in pmd_clear_saveddirty() argument
554 pmdval_t v = native_pmd_val(pmd); in pmd_clear_saveddirty()
560 static inline pmd_t pmd_wrprotect(pmd_t pmd) in pmd_wrprotect() argument
562 pmd = pmd_clear_flags(pmd, _PAGE_RW); in pmd_wrprotect()
569 return pmd_mksaveddirty(pmd); in pmd_wrprotect()
573 static inline int pmd_uffd_wp(pmd_t pmd) in pmd_uffd_wp() argument
575 return pmd_flags(pmd) & _PAGE_UFFD_WP; in pmd_uffd_wp()
578 static inline pmd_t pmd_mkuffd_wp(pmd_t pmd) in pmd_mkuffd_wp() argument
580 return pmd_wrprotect(pmd_set_flags(pmd, _PAGE_UFFD_WP)); in pmd_mkuffd_wp()
583 static inline pmd_t pmd_clear_uffd_wp(pmd_t pmd) in pmd_clear_uffd_wp() argument
585 return pmd_clear_flags(pmd, _PAGE_UFFD_WP); in pmd_clear_uffd_wp()
589 static inline pmd_t pmd_mkold(pmd_t pmd) in pmd_mkold() argument
591 return pmd_clear_flags(pmd, _PAGE_ACCESSED); in pmd_mkold()
594 static inline pmd_t pmd_mkclean(pmd_t pmd) in pmd_mkclean() argument
596 return pmd_clear_flags(pmd, _PAGE_DIRTY_BITS); in pmd_mkclean()
599 static inline pmd_t pmd_mkdirty(pmd_t pmd) in pmd_mkdirty() argument
601 pmd = pmd_set_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY); in pmd_mkdirty()
603 return pmd_mksaveddirty(pmd); in pmd_mkdirty()
606 static inline pmd_t pmd_mkwrite_shstk(pmd_t pmd) in pmd_mkwrite_shstk() argument
608 pmd = pmd_clear_flags(pmd, _PAGE_RW); in pmd_mkwrite_shstk()
610 return pmd_set_flags(pmd, _PAGE_DIRTY); in pmd_mkwrite_shstk()
613 static inline pmd_t pmd_mkdevmap(pmd_t pmd) in pmd_mkdevmap() argument
615 return pmd_set_flags(pmd, _PAGE_DEVMAP); in pmd_mkdevmap()
618 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument
620 return pmd_set_flags(pmd, _PAGE_PSE); in pmd_mkhuge()
623 static inline pmd_t pmd_mkyoung(pmd_t pmd) in pmd_mkyoung() argument
625 return pmd_set_flags(pmd, _PAGE_ACCESSED); in pmd_mkyoung()
628 static inline pmd_t pmd_mkwrite_novma(pmd_t pmd) in pmd_mkwrite_novma() argument
630 return pmd_set_flags(pmd, _PAGE_RW); in pmd_mkwrite_novma()
633 pmd_t pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma);
711 static inline int pmd_soft_dirty(pmd_t pmd) in pmd_soft_dirty() argument
713 return pmd_flags(pmd) & _PAGE_SOFT_DIRTY; in pmd_soft_dirty()
726 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd) in pmd_mksoft_dirty() argument
728 return pmd_set_flags(pmd, _PAGE_SOFT_DIRTY); in pmd_mksoft_dirty()
741 static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd) in pmd_clear_soft_dirty() argument
743 return pmd_clear_flags(pmd, _PAGE_SOFT_DIRTY); in pmd_clear_soft_dirty()
808 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() argument
810 return pfn_pmd(pmd_pfn(pmd), in pmd_mkinvalid()
811 __pgprot(pmd_flags(pmd) & ~(_PAGE_PRESENT|_PAGE_PROTNONE))); in pmd_mkinvalid()
855 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
857 pmdval_t val = pmd_val(pmd), oldval = val; in pmd_modify()
1035 static inline int pmd_present(pmd_t pmd) in pmd_present() argument
1043 return pmd_flags(pmd) & (_PAGE_PRESENT | _PAGE_PROTNONE | _PAGE_PSE); in pmd_present()
1057 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument
1059 return (pmd_flags(pmd) & (_PAGE_PROTNONE | _PAGE_PRESENT)) in pmd_protnone()
1064 static inline int pmd_none(pmd_t pmd) in pmd_none() argument
1068 unsigned long val = native_pmd_val(pmd); in pmd_none()
1072 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
1074 return (unsigned long)__va(pmd_val(pmd) & pmd_pfn_mask(pmd)); in pmd_page_vaddr()
1081 #define pmd_page(pmd) pfn_to_page(pmd_pfn(pmd)) argument
1099 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument
1101 return (pmd_flags(pmd) & ~(_PAGE_USER | _PAGE_ACCESSED)) != in pmd_bad()
1281 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
1283 page_table_check_pmd_set(mm, pmdp, pmd); in set_pmd_at()
1284 set_pmd(pmdp, pmd); in set_pmd_at()
1388 pmd_t pmd = native_pmdp_get_and_clear(pmdp); in pmdp_huge_get_and_clear() local
1390 page_table_check_pmd_clear(mm, pmd); in pmdp_huge_get_and_clear()
1392 return pmd; in pmdp_huge_get_and_clear()
1426 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish()
1428 page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); in pmdp_establish()
1430 return xchg(pmdp, pmd); in pmdp_establish()
1433 WRITE_ONCE(*pmdp, pmd); in pmdp_establish()
1577 unsigned long addr, pmd_t *pmd) in update_mmu_cache_pmd() argument
1616 static inline pmd_t pmd_swp_mksoft_dirty(pmd_t pmd) in pmd_swp_mksoft_dirty() argument
1618 return pmd_set_flags(pmd, _PAGE_SWP_SOFT_DIRTY); in pmd_swp_mksoft_dirty()
1621 static inline int pmd_swp_soft_dirty(pmd_t pmd) in pmd_swp_soft_dirty() argument
1623 return pmd_flags(pmd) & _PAGE_SWP_SOFT_DIRTY; in pmd_swp_soft_dirty()
1626 static inline pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd) in pmd_swp_clear_soft_dirty() argument
1628 return pmd_clear_flags(pmd, _PAGE_SWP_SOFT_DIRTY); in pmd_swp_clear_soft_dirty()
1649 static inline pmd_t pmd_swp_mkuffd_wp(pmd_t pmd) in pmd_swp_mkuffd_wp() argument
1651 return pmd_set_flags(pmd, _PAGE_SWP_UFFD_WP); in pmd_swp_mkuffd_wp()
1654 static inline int pmd_swp_uffd_wp(pmd_t pmd) in pmd_swp_uffd_wp() argument
1656 return pmd_flags(pmd) & _PAGE_SWP_UFFD_WP; in pmd_swp_uffd_wp()
1659 static inline pmd_t pmd_swp_clear_uffd_wp(pmd_t pmd) in pmd_swp_clear_uffd_wp() argument
1661 return pmd_clear_flags(pmd, _PAGE_SWP_UFFD_WP); in pmd_swp_clear_uffd_wp()
1717 static inline bool pmd_access_permitted(pmd_t pmd, bool write) in pmd_access_permitted() argument
1719 return __pte_access_permitted(pmd_val(pmd), write); in pmd_access_permitted()
1740 void arch_check_zapped_pmd(struct vm_area_struct *vma, pmd_t pmd);
1759 static inline bool pmd_user_accessible_page(pmd_t pmd) in pmd_user_accessible_page() argument
1761 return pmd_leaf(pmd) && (pmd_val(pmd) & _PAGE_PRESENT) && (pmd_val(pmd) & _PAGE_USER); in pmd_user_accessible_page()