Lines Matching refs:ptep

104 			   pte_t *ptep, size_t *pgsize)
115 if ((pte_t *)pmdp == ptep) {
151 pte_t huge_ptep_get(pte_t *ptep)
155 pte_t orig_pte = ptep_get(ptep);
161 for (i = 0; i < ncontig; i++, ptep++) {
162 pte_t pte = ptep_get(ptep);
183 pte_t *ptep,
187 pte_t orig_pte = ptep_get(ptep);
190 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) {
191 pte_t pte = ptep_get_and_clear(mm, addr, ptep);
209 pte_t *ptep,
213 pte_t orig_pte = get_clear_contig(mm, addr, ptep, pgsize, ncontig);
231 pte_t *ptep,
238 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++)
239 ptep_clear(mm, addr, ptep);
245 pte_t *ptep, pte_t pte, unsigned long sz)
256 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize)
257 set_pte_at(mm, addr, ptep, pte);
262 set_pte_at(mm, addr, ptep, pte);
270 clear_flush(mm, addr, ptep, pgsize, ncontig);
272 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn)
273 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot));
283 pte_t *ptep = NULL;
292 ptep = (pte_t *)pudp;
299 ptep = pte_alloc_huge(mm, pmdp, addr);
302 ptep = huge_pmd_share(mm, vma, addr, pudp);
304 ptep = (pte_t *)pmd_alloc(mm, pudp, addr);
311 return ptep;
395 pte_t *ptep, unsigned long sz)
402 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++)
403 pte_clear(mm, addr, ptep);
407 unsigned long addr, pte_t *ptep)
411 pte_t orig_pte = ptep_get(ptep);
414 return ptep_get_and_clear(mm, addr, ptep);
416 ncontig = find_num_contig(mm, addr, ptep, &pgsize);
418 return get_clear_contig(mm, addr, ptep, pgsize, ncontig);
430 static int __cont_access_flags_changed(pte_t *ptep, pte_t pte, int ncontig)
434 if (pte_write(pte) != pte_write(ptep_get(ptep)))
438 pte_t orig_pte = ptep_get(ptep + i);
451 unsigned long addr, pte_t *ptep,
462 return ptep_set_access_flags(vma, addr, ptep, pte, dirty);
464 ncontig = find_num_contig(mm, addr, ptep, &pgsize);
467 if (!__cont_access_flags_changed(ptep, pte, ncontig))
470 orig_pte = get_clear_contig_flush(mm, addr, ptep, pgsize, ncontig);
480 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn)
481 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot));
487 unsigned long addr, pte_t *ptep)
495 if (!pte_cont(READ_ONCE(*ptep))) {
496 ptep_set_wrprotect(mm, addr, ptep);
500 ncontig = find_num_contig(mm, addr, ptep, &pgsize);
503 pte = get_clear_contig_flush(mm, addr, ptep, pgsize, ncontig);
509 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn)
510 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot));
514 unsigned long addr, pte_t *ptep)
520 if (!pte_cont(READ_ONCE(*ptep)))
521 return ptep_clear_flush(vma, addr, ptep);
523 ncontig = find_num_contig(mm, addr, ptep, &pgsize);
524 return get_clear_contig_flush(mm, addr, ptep, pgsize, ncontig);
545 pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep)
554 if (pte_user_exec(READ_ONCE(*ptep)))
555 return huge_ptep_clear_flush(vma, addr, ptep);
557 return huge_ptep_get_and_clear(vma->vm_mm, addr, ptep);
560 void huge_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep,
565 set_huge_pte_at(vma->vm_mm, addr, ptep, pte, psize);