Lines Matching refs:ptep

55 			   pte_t *ptep, size_t *pgsize)  in find_num_contig()  argument
64 if ((pte_t *)pmdp == ptep) { in find_num_contig()
107 pte_t *ptep, in get_clear_flush() argument
111 pte_t orig_pte = huge_ptep_get(ptep); in get_clear_flush()
115 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) { in get_clear_flush()
116 pte_t pte = ptep_get_and_clear(mm, addr, ptep); in get_clear_flush()
148 pte_t *ptep, in clear_flush() argument
155 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in clear_flush()
156 pte_clear(mm, addr, ptep); in clear_flush()
162 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
177 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
181 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in set_huge_pte_at()
186 clear_flush(mm, addr, ptep, pgsize, ncontig); in set_huge_pte_at()
188 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in set_huge_pte_at()
189 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot)); in set_huge_pte_at()
193 pte_t *ptep, pte_t pte, unsigned long sz) in set_huge_swap_pte_at() argument
200 for (i = 0; i < ncontig; i++, ptep++) in set_huge_swap_pte_at()
201 set_pte(ptep, pte); in set_huge_swap_pte_at()
210 pte_t *ptep = NULL; in huge_pte_alloc() local
218 ptep = (pte_t *)pudp; in huge_pte_alloc()
230 ptep = pte_alloc_map(mm, pmdp, addr); in huge_pte_alloc()
234 ptep = huge_pmd_share(mm, addr, pudp); in huge_pte_alloc()
236 ptep = (pte_t *)pmd_alloc(mm, pudp, addr); in huge_pte_alloc()
243 return ptep; in huge_pte_alloc()
300 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument
307 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in huge_pte_clear()
308 pte_clear(mm, addr, ptep); in huge_pte_clear()
312 unsigned long addr, pte_t *ptep) in huge_ptep_get_and_clear() argument
316 pte_t orig_pte = huge_ptep_get(ptep); in huge_ptep_get_and_clear()
319 return ptep_get_and_clear(mm, addr, ptep); in huge_ptep_get_and_clear()
321 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in huge_ptep_get_and_clear()
323 return get_clear_flush(mm, addr, ptep, pgsize, ncontig); in huge_ptep_get_and_clear()
335 static int __cont_access_flags_changed(pte_t *ptep, pte_t pte, int ncontig) in __cont_access_flags_changed() argument
339 if (pte_write(pte) != pte_write(huge_ptep_get(ptep))) in __cont_access_flags_changed()
343 pte_t orig_pte = huge_ptep_get(ptep + i); in __cont_access_flags_changed()
356 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
366 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
368 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize); in huge_ptep_set_access_flags()
371 if (!__cont_access_flags_changed(ptep, pte, ncontig)) in huge_ptep_set_access_flags()
374 orig_pte = get_clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig); in huge_ptep_set_access_flags()
384 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in huge_ptep_set_access_flags()
385 set_pte_at(vma->vm_mm, addr, ptep, pfn_pte(pfn, hugeprot)); in huge_ptep_set_access_flags()
391 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument
399 if (!pte_cont(READ_ONCE(*ptep))) { in huge_ptep_set_wrprotect()
400 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect()
404 ncontig = find_num_contig(mm, addr, ptep, &pgsize); in huge_ptep_set_wrprotect()
407 pte = get_clear_flush(mm, addr, ptep, pgsize, ncontig); in huge_ptep_set_wrprotect()
413 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn) in huge_ptep_set_wrprotect()
414 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot)); in huge_ptep_set_wrprotect()
418 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument
423 if (!pte_cont(READ_ONCE(*ptep))) { in huge_ptep_clear_flush()
424 ptep_clear_flush(vma, addr, ptep); in huge_ptep_clear_flush()
428 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize); in huge_ptep_clear_flush()
429 clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig); in huge_ptep_clear_flush()