Lines Matching refs:pmd

175 typedef struct { unsigned long pmd; } pmd_t;  member
176 #define pmd_val(x) ((x).pmd)
222 static inline int pmd_none(pmd_t pmd) in pmd_none() argument
224 return pmd_val(pmd) == (unsigned long)invalid_pte_table; in pmd_none()
227 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument
229 return (pmd_val(pmd) & ~PAGE_MASK); in pmd_bad()
232 static inline int pmd_present(pmd_t pmd) in pmd_present() argument
234 if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) in pmd_present()
235 return !!(pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROTNONE | _PAGE_PRESENT_INVALID)); in pmd_present()
237 return pmd_val(pmd) != (unsigned long)invalid_pte_table; in pmd_present()
240 static inline void set_pmd(pmd_t *pmd, pmd_t pmdval) in set_pmd() argument
242 WRITE_ONCE(*pmd, pmdval); in set_pmd()
250 #define pmd_phys(pmd) PHYSADDR(pmd_val(pmd)) argument
253 #define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) argument
256 #define pmd_page_vaddr(pmd) pmd_val(pmd) argument
259 extern void set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd);
299 #define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val(pmd) }) argument
465 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument
467 return (pmd_val(pmd) & _PFN_MASK) >> PFN_PTE_SHIFT; in pmd_pfn()
475 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument
477 return !!(pmd_val(pmd) & _PAGE_HUGE) && pmd_present(pmd); in pmd_trans_huge()
480 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument
482 pmd_val(pmd) = (pmd_val(pmd) & ~(_PAGE_GLOBAL)) | in pmd_mkhuge()
483 ((pmd_val(pmd) & _PAGE_GLOBAL) << (_PAGE_HGLOBAL_SHIFT - _PAGE_GLOBAL_SHIFT)); in pmd_mkhuge()
484 pmd_val(pmd) |= _PAGE_HUGE; in pmd_mkhuge()
486 return pmd; in pmd_mkhuge()
490 static inline int pmd_write(pmd_t pmd) in pmd_write() argument
492 return !!(pmd_val(pmd) & _PAGE_WRITE); in pmd_write()
495 static inline pmd_t pmd_mkwrite_novma(pmd_t pmd) in pmd_mkwrite_novma() argument
497 pmd_val(pmd) |= _PAGE_WRITE; in pmd_mkwrite_novma()
498 if (pmd_val(pmd) & _PAGE_MODIFIED) in pmd_mkwrite_novma()
499 pmd_val(pmd) |= _PAGE_DIRTY; in pmd_mkwrite_novma()
500 return pmd; in pmd_mkwrite_novma()
503 static inline pmd_t pmd_wrprotect(pmd_t pmd) in pmd_wrprotect() argument
505 pmd_val(pmd) &= ~(_PAGE_WRITE | _PAGE_DIRTY); in pmd_wrprotect()
506 return pmd; in pmd_wrprotect()
510 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() argument
512 return !!(pmd_val(pmd) & (_PAGE_DIRTY | _PAGE_MODIFIED)); in pmd_dirty()
515 static inline pmd_t pmd_mkclean(pmd_t pmd) in pmd_mkclean() argument
517 pmd_val(pmd) &= ~(_PAGE_DIRTY | _PAGE_MODIFIED); in pmd_mkclean()
518 return pmd; in pmd_mkclean()
521 static inline pmd_t pmd_mkdirty(pmd_t pmd) in pmd_mkdirty() argument
523 pmd_val(pmd) |= _PAGE_MODIFIED; in pmd_mkdirty()
524 if (pmd_val(pmd) & _PAGE_WRITE) in pmd_mkdirty()
525 pmd_val(pmd) |= _PAGE_DIRTY; in pmd_mkdirty()
526 return pmd; in pmd_mkdirty()
530 static inline int pmd_young(pmd_t pmd) in pmd_young() argument
532 return !!(pmd_val(pmd) & _PAGE_ACCESSED); in pmd_young()
535 static inline pmd_t pmd_mkold(pmd_t pmd) in pmd_mkold() argument
537 pmd_val(pmd) &= ~_PAGE_ACCESSED; in pmd_mkold()
538 return pmd; in pmd_mkold()
541 static inline pmd_t pmd_mkyoung(pmd_t pmd) in pmd_mkyoung() argument
543 pmd_val(pmd) |= _PAGE_ACCESSED; in pmd_mkyoung()
544 return pmd; in pmd_mkyoung()
547 static inline int pmd_devmap(pmd_t pmd) in pmd_devmap() argument
549 return !!(pmd_val(pmd) & _PAGE_DEVMAP); in pmd_devmap()
552 static inline pmd_t pmd_mkdevmap(pmd_t pmd) in pmd_mkdevmap() argument
554 pmd_val(pmd) |= _PAGE_DEVMAP; in pmd_mkdevmap()
555 return pmd; in pmd_mkdevmap()
558 static inline struct page *pmd_page(pmd_t pmd) in pmd_page() argument
560 if (pmd_trans_huge(pmd)) in pmd_page()
561 return pfn_to_page(pmd_pfn(pmd)); in pmd_page()
563 return pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT); in pmd_page()
566 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument
568 pmd_val(pmd) = (pmd_val(pmd) & _HPAGE_CHG_MASK) | in pmd_modify()
570 return pmd; in pmd_modify()
573 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() argument
575 pmd_val(pmd) |= _PAGE_PRESENT_INVALID; in pmd_mkinvalid()
576 pmd_val(pmd) &= ~(_PAGE_PRESENT | _PAGE_VALID | _PAGE_DIRTY | _PAGE_PROTNONE); in pmd_mkinvalid()
578 return pmd; in pmd_mkinvalid()
604 static inline long pmd_protnone(pmd_t pmd) in pmd_protnone() argument
606 return (pmd_val(pmd) & _PAGE_PROTNONE); in pmd_protnone()
610 #define pmd_leaf(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0) argument