Lines Matching refs:pmd
139 #define pmd_access_permitted(pmd, write) \ argument
140 (pte_access_permitted(pmd_pte(pmd), (write)))
156 static inline pmd_t clear_pmd_bit(pmd_t pmd, pgprot_t prot) in clear_pmd_bit() argument
158 pmd_val(pmd) &= ~pgprot_val(prot); in clear_pmd_bit()
159 return pmd; in clear_pmd_bit()
162 static inline pmd_t set_pmd_bit(pmd_t pmd, pgprot_t prot) in set_pmd_bit() argument
164 pmd_val(pmd) |= pgprot_val(prot); in set_pmd_bit()
165 return pmd; in set_pmd_bit()
238 static inline pmd_t pmd_mkcont(pmd_t pmd) in pmd_mkcont() argument
240 return __pmd(pmd_val(pmd) | PMD_SECT_CONT); in pmd_mkcont()
362 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument
364 return __pte(pmd_val(pmd)); in pmd_pte()
391 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument
393 return pte_protnone(pmd_pte(pmd)); in pmd_protnone()
397 #define pmd_present_invalid(pmd) (!!(pmd_val(pmd) & PMD_PRESENT_INVALID)) argument
399 static inline int pmd_present(pmd_t pmd) in pmd_present() argument
401 return pte_present(pmd_pte(pmd)) || pmd_present_invalid(pmd); in pmd_present()
409 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
411 return pmd_val(pmd) && pmd_present(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT); in pmd_trans_huge()
415 #define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd)) argument
416 #define pmd_young(pmd) pte_young(pmd_pte(pmd)) argument
417 #define pmd_valid(pmd) pte_valid(pmd_pte(pmd)) argument
418 #define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd))) argument
419 #define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd))) argument
420 #define pmd_mkwrite(pmd) pte_pmd(pte_mkwrite(pmd_pte(pmd))) argument
421 #define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd))) argument
422 #define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd))) argument
423 #define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd))) argument
425 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() argument
427 pmd = set_pmd_bit(pmd, __pgprot(PMD_PRESENT_INVALID)); in pmd_mkinvalid()
428 pmd = clear_pmd_bit(pmd, __pgprot(PMD_SECT_VALID)); in pmd_mkinvalid()
430 return pmd; in pmd_mkinvalid()
433 #define pmd_thp_or_huge(pmd) (pmd_huge(pmd) || pmd_trans_huge(pmd)) argument
435 #define pmd_write(pmd) pte_write(pmd_pte(pmd)) argument
437 #define pmd_mkhuge(pmd) (__pmd(pmd_val(pmd) & ~PMD_TABLE_BIT)) argument
440 #define pmd_devmap(pmd) pte_devmap(pmd_pte(pmd)) argument
442 static inline pmd_t pmd_mkdevmap(pmd_t pmd) in pmd_mkdevmap() argument
444 return pte_pmd(set_pte_bit(pmd_pte(pmd), __pgprot(PTE_DEVMAP))); in pmd_mkdevmap()
447 #define __pmd_to_phys(pmd) __pte_to_phys(pmd_pte(pmd)) argument
449 #define pmd_pfn(pmd) ((__pmd_to_phys(pmd) & PMD_MASK) >> PAGE_SHIFT) argument
464 #define set_pmd_at(mm, addr, pmdp, pmd) set_pte_at(mm, addr, (pte_t *)pmdp, pmd_pte(pmd)) argument
504 #define pmd_none(pmd) (!pmd_val(pmd)) argument
506 #define pmd_bad(pmd) (!(pmd_val(pmd) & PMD_TABLE_BIT)) argument
508 #define pmd_table(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument
510 #define pmd_sect(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument
512 #define pmd_leaf(pmd) pmd_sect(pmd) argument
539 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() argument
543 set_swapper_pgd((pgd_t *)pmdp, __pgd(pmd_val(pmd))); in set_pmd()
548 WRITE_ONCE(*pmdp, pmd); in set_pmd()
550 if (pmd_valid(pmd)) { in set_pmd()
561 static inline phys_addr_t pmd_page_paddr(pmd_t pmd) in pmd_page_paddr() argument
563 return __pmd_to_phys(pmd); in pmd_page_paddr()
566 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
568 return (unsigned long)__va(pmd_page_paddr(pmd)); in pmd_page_vaddr()
575 #define pte_set_fixmap_offset(pmd, addr) pte_set_fixmap(pte_offset_phys(pmd, addr)) argument
578 #define pmd_page(pmd) phys_to_page(__pmd_to_phys(pmd)) argument
741 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
743 return pte_pmd(pte_modify(pmd_pte(pmd), newprot)); in pmd_modify()
872 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish()
874 return __pmd(xchg_relaxed(&pmd_val(*pmdp), pmd_val(pmd))); in pmdp_establish()
900 #define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val(pmd) }) argument
957 #define update_mmu_cache_pmd(vma, address, pmd) do { } while (0) argument