Lines Matching refs:ptep

104 			   pte_t *ptep, size_t *pgsize)  in find_num_contig()  argument
115 if ((pte_t *)pmdp == ptep) { in find_num_contig()
158 pte_t *ptep, in get_clear_flush() argument
162 pte_t orig_pte = huge_ptep_get(ptep); in get_clear_flush()
166 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) { in get_clear_flush()
167 pte_t pte = ptep_get_and_clear(mm, addr, ptep); in get_clear_flush()
199 pte_t *ptep, in clear_flush() argument
206 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in clear_flush()
207 pte_clear(mm, addr, ptep); in clear_flush()
213 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
228 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
232 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in set_huge_pte_at()
237 clear_flush(mm, addr, ptep, pgsize, ncontig); in set_huge_pte_at()
239 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in set_huge_pte_at()
240 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot)); in set_huge_pte_at()
244 pte_t *ptep, pte_t pte, unsigned long sz) in set_huge_swap_pte_at() argument
251 for (i = 0; i < ncontig; i++, ptep++) in set_huge_swap_pte_at()
252 set_pte(ptep, pte); in set_huge_swap_pte_at()
262 pte_t *ptep = NULL; in huge_pte_alloc() local
271 ptep = (pte_t *)pudp; in huge_pte_alloc()
285 ptep = pte_alloc_map(mm, pmdp, addr); in huge_pte_alloc()
288 ptep = huge_pmd_share(mm, vma, addr, pudp); in huge_pte_alloc()
290 ptep = (pte_t *)pmd_alloc(mm, pudp, addr); in huge_pte_alloc()
297 return ptep; in huge_pte_alloc()
359 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument
366 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in huge_pte_clear()
367 pte_clear(mm, addr, ptep); in huge_pte_clear()
371 unsigned long addr, pte_t *ptep) in huge_ptep_get_and_clear() argument
375 pte_t orig_pte = huge_ptep_get(ptep); in huge_ptep_get_and_clear()
378 return ptep_get_and_clear(mm, addr, ptep); in huge_ptep_get_and_clear()
380 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in huge_ptep_get_and_clear()
382 return get_clear_flush(mm, addr, ptep, pgsize, ncontig); in huge_ptep_get_and_clear()
394 static int __cont_access_flags_changed(pte_t *ptep, pte_t pte, int ncontig) in __cont_access_flags_changed() argument
398 if (pte_write(pte) != pte_write(huge_ptep_get(ptep))) in __cont_access_flags_changed()
402 pte_t orig_pte = huge_ptep_get(ptep + i); in __cont_access_flags_changed()
415 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
425 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
427 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize); in huge_ptep_set_access_flags()
430 if (!__cont_access_flags_changed(ptep, pte, ncontig)) in huge_ptep_set_access_flags()
433 orig_pte = get_clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig); in huge_ptep_set_access_flags()
443 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in huge_ptep_set_access_flags()
444 set_pte_at(vma->vm_mm, addr, ptep, pfn_pte(pfn, hugeprot)); in huge_ptep_set_access_flags()
450 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument
458 if (!pte_cont(READ_ONCE(*ptep))) { in huge_ptep_set_wrprotect()
459 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect()
463 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in huge_ptep_set_wrprotect()
466 pte = get_clear_flush(mm, addr, ptep, pgsize, ncontig); in huge_ptep_set_wrprotect()
472 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in huge_ptep_set_wrprotect()
473 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot)); in huge_ptep_set_wrprotect()
477 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument
482 if (!pte_cont(READ_ONCE(*ptep))) { in huge_ptep_clear_flush()
483 ptep_clear_flush(vma, addr, ptep); in huge_ptep_clear_flush()
487 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize); in huge_ptep_clear_flush()
488 clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig); in huge_ptep_clear_flush()