Lines Matching refs:pmdp
96 unsigned long address, pmd_t *pmdp, in pmdp_set_access_flags() argument
99 int changed = !pmd_same(*pmdp, entry); in pmdp_set_access_flags()
102 set_pmd_at(vma->vm_mm, address, pmdp, entry); in pmdp_set_access_flags()
111 unsigned long address, pmd_t *pmdp) in pmdp_clear_flush_young() argument
115 young = pmdp_test_and_clear_young(vma, address, pmdp); in pmdp_clear_flush_young()
124 pmd_t *pmdp) in pmdp_huge_clear_flush() argument
128 VM_BUG_ON((pmd_present(*pmdp) && !pmd_trans_huge(*pmdp) && in pmdp_huge_clear_flush()
129 !pmd_devmap(*pmdp)) || !pmd_present(*pmdp)); in pmdp_huge_clear_flush()
130 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_huge_clear_flush()
151 void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, in pgtable_trans_huge_deposit() argument
154 assert_spin_locked(pmd_lockptr(mm, pmdp)); in pgtable_trans_huge_deposit()
157 if (!pmd_huge_pte(mm, pmdp)) in pgtable_trans_huge_deposit()
160 list_add(&pgtable->lru, &pmd_huge_pte(mm, pmdp)->lru); in pgtable_trans_huge_deposit()
161 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit()
167 pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) in pgtable_trans_huge_withdraw() argument
171 assert_spin_locked(pmd_lockptr(mm, pmdp)); in pgtable_trans_huge_withdraw()
174 pgtable = pmd_huge_pte(mm, pmdp); in pgtable_trans_huge_withdraw()
175 pmd_huge_pte(mm, pmdp) = list_first_entry_or_null(&pgtable->lru, in pgtable_trans_huge_withdraw()
177 if (pmd_huge_pte(mm, pmdp)) in pgtable_trans_huge_withdraw()
185 pmd_t *pmdp) in pmdp_invalidate() argument
187 pmd_t old = pmdp_establish(vma, address, pmdp, pmd_mknotpresent(*pmdp)); in pmdp_invalidate()
195 pmd_t *pmdp) in pmdp_collapse_flush() argument
204 VM_BUG_ON(pmd_trans_huge(*pmdp)); in pmdp_collapse_flush()
205 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_collapse_flush()