Lines Matching refs:pmd
268 #define pmd_access_permitted(pmd, write) \ argument
269 (pte_access_permitted(pmd_pte(pmd), (write)))
285 static inline pmd_t clear_pmd_bit(pmd_t pmd, pgprot_t prot) in clear_pmd_bit() argument
287 pmd_val(pmd) &= ~pgprot_val(prot); in clear_pmd_bit()
288 return pmd; in clear_pmd_bit()
291 static inline pmd_t set_pmd_bit(pmd_t pmd, pgprot_t prot) in set_pmd_bit() argument
293 pmd_val(pmd) |= pgprot_val(prot); in set_pmd_bit()
294 return pmd; in set_pmd_bit()
374 static inline pmd_t pmd_mkcont(pmd_t pmd) in pmd_mkcont() argument
376 return __pmd(pmd_val(pmd) | PMD_SECT_CONT); in pmd_mkcont()
379 static inline pmd_t pmd_mknoncont(pmd_t pmd) in pmd_mknoncont() argument
381 return __pmd(pmd_val(pmd) & ~PMD_SECT_CONT); in pmd_mknoncont()
545 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument
547 return __pte(pmd_val(pmd)); in pmd_pte()
615 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument
617 return pte_protnone(pmd_pte(pmd)); in pmd_protnone()
621 #define pmd_present(pmd) pte_present(pmd_pte(pmd)) argument
622 #define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd)) argument
623 #define pmd_young(pmd) pte_young(pmd_pte(pmd)) argument
624 #define pmd_valid(pmd) pte_valid(pmd_pte(pmd)) argument
625 #define pmd_user(pmd) pte_user(pmd_pte(pmd)) argument
626 #define pmd_user_exec(pmd) pte_user_exec(pmd_pte(pmd)) argument
627 #define pmd_cont(pmd) pte_cont(pmd_pte(pmd)) argument
628 #define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd))) argument
629 #define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd))) argument
630 #define pmd_mkwrite_novma(pmd) pte_pmd(pte_mkwrite_novma(pmd_pte(pmd))) argument
631 #define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd))) argument
632 #define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd))) argument
633 #define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd))) argument
634 #define pmd_mkinvalid(pmd) pte_pmd(pte_mkinvalid(pmd_pte(pmd))) argument
636 #define pmd_uffd_wp(pmd) pte_uffd_wp(pmd_pte(pmd)) argument
637 #define pmd_mkuffd_wp(pmd) pte_pmd(pte_mkuffd_wp(pmd_pte(pmd))) argument
638 #define pmd_clear_uffd_wp(pmd) pte_pmd(pte_clear_uffd_wp(pmd_pte(pmd))) argument
639 #define pmd_swp_uffd_wp(pmd) pte_swp_uffd_wp(pmd_pte(pmd)) argument
640 #define pmd_swp_mkuffd_wp(pmd) pte_pmd(pte_swp_mkuffd_wp(pmd_pte(pmd))) argument
641 #define pmd_swp_clear_uffd_wp(pmd) \ argument
642 pte_pmd(pte_swp_clear_uffd_wp(pmd_pte(pmd)))
645 #define pmd_write(pmd) pte_write(pmd_pte(pmd)) argument
647 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument
657 return __pmd((pmd_val(pmd) & ~mask) | val); in pmd_mkhuge()
662 static inline pmd_t pmd_mkspecial(pmd_t pmd) in pmd_mkspecial() argument
664 return set_pmd_bit(pmd, __pgprot(PTE_SPECIAL)); in pmd_mkspecial()
668 #define __pmd_to_phys(pmd) __pte_to_phys(pmd_pte(pmd)) argument
670 #define pmd_pfn(pmd) ((__pmd_to_phys(pmd) & PMD_MASK) >> PAGE_SHIFT) argument
696 static inline pgprot_t pmd_pgprot(pmd_t pmd) in pmd_pgprot() argument
698 unsigned long pfn = pmd_pfn(pmd); in pmd_pgprot()
700 return __pgprot(pmd_val(pfn_pmd(pfn, __pgprot(0))) ^ pmd_val(pmd)); in pmd_pgprot()
756 pmd_t *pmdp, pmd_t pmd, unsigned int nr) in __set_pmds() argument
758 __set_ptes_anysz(mm, (pte_t *)pmdp, pmd_pte(pmd), nr, PMD_SIZE); in __set_pmds()
760 #define set_pmd_at(mm, addr, pmdp, pmd) __set_pmds(mm, addr, pmdp, pmd, 1) argument
816 #define pmd_none(pmd) (!pmd_val(pmd)) argument
818 #define pmd_table(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument
820 #define pmd_sect(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument
822 #define pmd_leaf(pmd) (pmd_present(pmd) && !pmd_table(pmd)) argument
823 #define pmd_bad(pmd) (!pmd_table(pmd)) argument
825 #define pmd_leaf_size(pmd) (pmd_cont(pmd) ? CONT_PMD_SIZE : PMD_SIZE) argument
829 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
835 return pmd_present(pmd) && !pmd_table(__pmd(pmd_val(pmd) | PTE_VALID)); in pmd_trans_huge()
862 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() argument
866 set_swapper_pgd((pgd_t *)pmdp, __pgd(pmd_val(pmd))); in set_pmd()
871 WRITE_ONCE(*pmdp, pmd); in set_pmd()
873 if (pmd_valid(pmd)) in set_pmd()
882 static inline phys_addr_t pmd_page_paddr(pmd_t pmd) in pmd_page_paddr() argument
884 return __pmd_to_phys(pmd); in pmd_page_paddr()
887 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
889 return (unsigned long)__va(pmd_page_paddr(pmd)); in pmd_page_vaddr()
896 #define pte_set_fixmap_offset(pmd, addr) pte_set_fixmap(pte_offset_phys(pmd, addr)) argument
899 #define pmd_page(pmd) phys_to_page(__pmd_to_phys(pmd)) argument
1283 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
1285 return pte_pmd(pte_modify(pmd_pte(pmd), newprot)); in pmd_modify()
1309 static inline bool pmd_user_accessible_page(pmd_t pmd) in pmd_user_accessible_page() argument
1311 return pmd_valid(pmd) && !pmd_table(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd)); in pmd_user_accessible_page()
1526 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish()
1528 page_table_check_pmd_set(vma->vm_mm, pmdp, pmd); in pmdp_establish()
1529 return __pmd(xchg_relaxed(&pmd_val(*pmdp), pmd_val(pmd))); in pmdp_establish()
1557 #define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val(pmd) }) argument
1606 #define update_mmu_cache_pmd(vma, address, pmd) do { } while (0) argument