Lines Matching defs:pmd
65 #define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd))
67 static inline unsigned long pmd_pfn(pmd_t pmd)
69 return pmd_val(pmd) >> PFN_PTE_SHIFT;
73 #define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT))
76 #define pmd_page_vaddr(pmd) pmd_val(pmd)
413 static inline int pmd_write(pmd_t pmd)
415 return !!(pmd_val(pmd) & _PAGE_WRITE);
418 static inline struct page *pmd_page(pmd_t pmd)
420 if (pmd_val(pmd) & _PAGE_HUGE)
421 return pfn_to_page(pmd_pfn(pmd));
423 return pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT);
628 static inline int pmd_trans_huge(pmd_t pmd)
630 return !!(pmd_val(pmd) & _PAGE_HUGE);
633 static inline pmd_t pmd_mkhuge(pmd_t pmd)
635 pmd_val(pmd) |= _PAGE_HUGE;
637 return pmd;
641 pmd_t *pmdp, pmd_t pmd);
643 static inline pmd_t pmd_wrprotect(pmd_t pmd)
645 pmd_val(pmd) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE);
646 return pmd;
649 static inline pmd_t pmd_mkwrite_novma(pmd_t pmd)
651 pmd_val(pmd) |= _PAGE_WRITE;
652 if (pmd_val(pmd) & _PAGE_MODIFIED)
653 pmd_val(pmd) |= _PAGE_SILENT_WRITE;
655 return pmd;
658 static inline int pmd_dirty(pmd_t pmd)
660 return !!(pmd_val(pmd) & _PAGE_MODIFIED);
663 static inline pmd_t pmd_mkclean(pmd_t pmd)
665 pmd_val(pmd) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE);
666 return pmd;
669 static inline pmd_t pmd_mkdirty(pmd_t pmd)
671 pmd_val(pmd) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
672 if (pmd_val(pmd) & _PAGE_WRITE)
673 pmd_val(pmd) |= _PAGE_SILENT_WRITE;
675 return pmd;
679 static inline int pmd_young(pmd_t pmd)
681 return !!(pmd_val(pmd) & _PAGE_ACCESSED);
684 static inline pmd_t pmd_mkold(pmd_t pmd)
686 pmd_val(pmd) &= ~(_PAGE_ACCESSED|_PAGE_SILENT_READ);
688 return pmd;
691 static inline pmd_t pmd_mkyoung(pmd_t pmd)
693 pmd_val(pmd) |= _PAGE_ACCESSED;
695 if (!(pmd_val(pmd) & _PAGE_NO_READ))
696 pmd_val(pmd) |= _PAGE_SILENT_READ;
698 return pmd;
702 static inline int pmd_soft_dirty(pmd_t pmd)
704 return !!(pmd_val(pmd) & _PAGE_SOFT_DIRTY);
707 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd)
709 pmd_val(pmd) |= _PAGE_SOFT_DIRTY;
710 return pmd;
713 static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd)
715 pmd_val(pmd) &= ~(_PAGE_SOFT_DIRTY);
716 return pmd;
724 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
726 pmd_val(pmd) = (pmd_val(pmd) & (_PAGE_CHG_MASK | _PAGE_HUGE)) |
728 return pmd;
731 static inline pmd_t pmd_mkinvalid(pmd_t pmd)
733 pmd_val(pmd) &= ~(_PAGE_PRESENT | _PAGE_VALID | _PAGE_DIRTY);
735 return pmd;
756 #define pmd_leaf(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0)