Lines Matching refs:ptep

105 			   pte_t *ptep, size_t *pgsize)  in find_num_contig()  argument
116 if ((pte_t *)pmdp == ptep) { in find_num_contig()
162 pte_t *ptep, in get_clear_flush() argument
166 pte_t orig_pte = huge_ptep_get(ptep); in get_clear_flush()
170 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) { in get_clear_flush()
171 pte_t pte = ptep_get_and_clear(mm, addr, ptep); in get_clear_flush()
203 pte_t *ptep, in clear_flush() argument
210 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in clear_flush()
211 pte_clear(mm, addr, ptep); in clear_flush()
217 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
232 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
236 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in set_huge_pte_at()
241 clear_flush(mm, addr, ptep, pgsize, ncontig); in set_huge_pte_at()
243 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in set_huge_pte_at()
244 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot)); in set_huge_pte_at()
248 pte_t *ptep, pte_t pte, unsigned long sz) in set_huge_swap_pte_at() argument
255 for (i = 0; i < ncontig; i++, ptep++) in set_huge_swap_pte_at()
256 set_pte(ptep, pte); in set_huge_swap_pte_at()
266 pte_t *ptep = NULL; in huge_pte_alloc() local
275 ptep = (pte_t *)pudp; in huge_pte_alloc()
289 ptep = pte_alloc_map(mm, pmdp, addr); in huge_pte_alloc()
292 ptep = huge_pmd_share(mm, vma, addr, pudp); in huge_pte_alloc()
294 ptep = (pte_t *)pmd_alloc(mm, pudp, addr); in huge_pte_alloc()
301 return ptep; in huge_pte_alloc()
362 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument
369 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in huge_pte_clear()
370 pte_clear(mm, addr, ptep); in huge_pte_clear()
374 unsigned long addr, pte_t *ptep) in huge_ptep_get_and_clear() argument
378 pte_t orig_pte = huge_ptep_get(ptep); in huge_ptep_get_and_clear()
381 return ptep_get_and_clear(mm, addr, ptep); in huge_ptep_get_and_clear()
383 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in huge_ptep_get_and_clear()
385 return get_clear_flush(mm, addr, ptep, pgsize, ncontig); in huge_ptep_get_and_clear()
397 static int __cont_access_flags_changed(pte_t *ptep, pte_t pte, int ncontig) in __cont_access_flags_changed() argument
401 if (pte_write(pte) != pte_write(huge_ptep_get(ptep))) in __cont_access_flags_changed()
405 pte_t orig_pte = huge_ptep_get(ptep + i); in __cont_access_flags_changed()
418 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
428 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
430 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize); in huge_ptep_set_access_flags()
433 if (!__cont_access_flags_changed(ptep, pte, ncontig)) in huge_ptep_set_access_flags()
436 orig_pte = get_clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig); in huge_ptep_set_access_flags()
446 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in huge_ptep_set_access_flags()
447 set_pte_at(vma->vm_mm, addr, ptep, pfn_pte(pfn, hugeprot)); in huge_ptep_set_access_flags()
453 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument
461 if (!pte_cont(READ_ONCE(*ptep))) { in huge_ptep_set_wrprotect()
462 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect()
466 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in huge_ptep_set_wrprotect()
469 pte = get_clear_flush(mm, addr, ptep, pgsize, ncontig); in huge_ptep_set_wrprotect()
475 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in huge_ptep_set_wrprotect()
476 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot)); in huge_ptep_set_wrprotect()
480 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument
485 if (!pte_cont(READ_ONCE(*ptep))) { in huge_ptep_clear_flush()
486 ptep_clear_flush(vma, addr, ptep); in huge_ptep_clear_flush()
490 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize); in huge_ptep_clear_flush()
491 clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig); in huge_ptep_clear_flush()