Lines Matching refs:pmd
87 #define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd)) argument
89 #define __pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) argument
91 #define pmd_page(pmd) __pmd_page(pmd) argument
94 #define pmd_page_vaddr(pmd) pmd_val(pmd) argument
579 static inline int pmd_trans_huge(pmd_t pmd) argument
581 return !!(pmd_val(pmd) & _PAGE_HUGE);
584 static inline pmd_t pmd_mkhuge(pmd_t pmd) argument
586 pmd_val(pmd) |= _PAGE_HUGE;
588 return pmd;
592 pmd_t *pmdp, pmd_t pmd);
595 static inline int pmd_write(pmd_t pmd) argument
597 return !!(pmd_val(pmd) & _PAGE_WRITE);
600 static inline pmd_t pmd_wrprotect(pmd_t pmd) argument
602 pmd_val(pmd) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE);
603 return pmd;
606 static inline pmd_t pmd_mkwrite(pmd_t pmd) argument
608 pmd_val(pmd) |= _PAGE_WRITE;
609 if (pmd_val(pmd) & _PAGE_MODIFIED)
610 pmd_val(pmd) |= _PAGE_SILENT_WRITE;
612 return pmd;
615 static inline int pmd_dirty(pmd_t pmd) argument
617 return !!(pmd_val(pmd) & _PAGE_MODIFIED);
620 static inline pmd_t pmd_mkclean(pmd_t pmd) argument
622 pmd_val(pmd) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE);
623 return pmd;
626 static inline pmd_t pmd_mkdirty(pmd_t pmd) argument
628 pmd_val(pmd) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
629 if (pmd_val(pmd) & _PAGE_WRITE)
630 pmd_val(pmd) |= _PAGE_SILENT_WRITE;
632 return pmd;
635 static inline int pmd_young(pmd_t pmd) argument
637 return !!(pmd_val(pmd) & _PAGE_ACCESSED);
640 static inline pmd_t pmd_mkold(pmd_t pmd) argument
642 pmd_val(pmd) &= ~(_PAGE_ACCESSED|_PAGE_SILENT_READ);
644 return pmd;
647 static inline pmd_t pmd_mkyoung(pmd_t pmd) argument
649 pmd_val(pmd) |= _PAGE_ACCESSED;
651 if (!(pmd_val(pmd) & _PAGE_NO_READ))
652 pmd_val(pmd) |= _PAGE_SILENT_READ;
654 return pmd;
658 static inline int pmd_soft_dirty(pmd_t pmd) argument
660 return !!(pmd_val(pmd) & _PAGE_SOFT_DIRTY);
663 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd) argument
665 pmd_val(pmd) |= _PAGE_SOFT_DIRTY;
666 return pmd;
669 static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd) argument
671 pmd_val(pmd) &= ~(_PAGE_SOFT_DIRTY);
672 return pmd;
680 static inline unsigned long pmd_pfn(pmd_t pmd) argument
682 return pmd_val(pmd) >> _PFN_SHIFT;
685 static inline struct page *pmd_page(pmd_t pmd) argument
687 if (pmd_trans_huge(pmd))
688 return pfn_to_page(pmd_pfn(pmd));
690 return pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT);
693 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) argument
695 pmd_val(pmd) = (pmd_val(pmd) & (_PAGE_CHG_MASK | _PAGE_HUGE)) |
697 return pmd;
700 static inline pmd_t pmd_mkinvalid(pmd_t pmd) argument
702 pmd_val(pmd) &= ~(_PAGE_PRESENT | _PAGE_VALID | _PAGE_DIRTY);
704 return pmd;
725 #define pmd_leaf(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0) argument