Lines Matching refs:pmdp
97 unsigned long address, pmd_t *pmdp, in pmdp_set_access_flags() argument
100 int changed = !pmd_same(*pmdp, entry); in pmdp_set_access_flags()
103 set_pmd_at(vma->vm_mm, address, pmdp, entry); in pmdp_set_access_flags()
112 unsigned long address, pmd_t *pmdp) in pmdp_clear_flush_young() argument
116 young = pmdp_test_and_clear_young(vma, address, pmdp); in pmdp_clear_flush_young()
125 pmd_t *pmdp) in pmdp_huge_clear_flush() argument
129 VM_BUG_ON((pmd_present(*pmdp) && !pmd_trans_huge(*pmdp) && in pmdp_huge_clear_flush()
130 !pmd_devmap(*pmdp)) || !pmd_present(*pmdp)); in pmdp_huge_clear_flush()
131 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_huge_clear_flush()
152 void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, in pgtable_trans_huge_deposit() argument
155 assert_spin_locked(pmd_lockptr(mm, pmdp)); in pgtable_trans_huge_deposit()
158 if (!pmd_huge_pte(mm, pmdp)) in pgtable_trans_huge_deposit()
161 list_add(&pgtable->lru, &pmd_huge_pte(mm, pmdp)->lru); in pgtable_trans_huge_deposit()
162 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit()
168 pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) in pgtable_trans_huge_withdraw() argument
172 assert_spin_locked(pmd_lockptr(mm, pmdp)); in pgtable_trans_huge_withdraw()
175 pgtable = pmd_huge_pte(mm, pmdp); in pgtable_trans_huge_withdraw()
176 pmd_huge_pte(mm, pmdp) = list_first_entry_or_null(&pgtable->lru, in pgtable_trans_huge_withdraw()
178 if (pmd_huge_pte(mm, pmdp)) in pgtable_trans_huge_withdraw()
186 pmd_t *pmdp) in pmdp_invalidate() argument
188 pmd_t old = pmdp_establish(vma, address, pmdp, pmd_mknotpresent(*pmdp)); in pmdp_invalidate()
196 pmd_t *pmdp) in pmdp_collapse_flush() argument
205 VM_BUG_ON(pmd_trans_huge(*pmdp)); in pmdp_collapse_flush()
206 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_collapse_flush()