Home
last modified time | relevance | path

Searched refs:ptep (Results 1 – 25 of 223) sorted by relevance

123456789

/linux-6.15/arch/arm64/mm/
H A Dcontpte.c26 return PTR_ALIGN_DOWN(ptep, sizeof(*ptep) * CONT_PTES); in contpte_align_down()
37 if (ptep != contpte_align_down(ptep) || nr < CONT_PTES) in contpte_try_unfold_partial()
38 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in contpte_try_unfold_partial()
40 if (ptep + nr != contpte_align_down(ptep + nr)) { in contpte_try_unfold_partial()
57 start_ptep = ptep = contpte_align_down(ptep); in contpte_convert()
125 ptep = contpte_align_down(ptep); in __contpte_try_fold()
132 ptep++; in __contpte_try_fold()
167 ptep = contpte_align_down(ptep); in contpte_ptep_get()
315 ptep = contpte_align_down(ptep); in contpte_ptep_test_and_clear_young()
386 ptep = contpte_align_down(ptep); in contpte_clear_young_dirty_ptes()
[all …]
H A Dhugetlbpage.c83 pte_t *ptep, size_t *pgsize) in find_num_contig() argument
94 if ((pte_t *)pmdp == ptep) { in find_num_contig()
134 pte_t pte = __ptep_get(ptep); in huge_ptep_get()
155 pte_t *ptep, in get_clear_contig() argument
165 ptep++; in get_clear_contig()
180 pte_t *ptep, in get_clear_contig_flush() argument
202 pte_t *ptep, in clear_flush() argument
254 pte_t *ptep = NULL; in huge_pte_alloc() local
266 ptep = (pte_t *)pudp; in huge_pte_alloc()
285 return ptep; in huge_pte_alloc()
[all …]
/linux-6.15/arch/s390/mm/
H A Dpgtable.c85 old = *ptep; in ptep_flush_direct()
104 old = *ptep; in ptep_flush_lazy()
110 set_pte(ptep, set_pte_bit(*ptep, __pgprot(_PAGE_INVALID))); in ptep_flush_lazy()
574 pte_t *ptep; in pgtable_trans_huge_withdraw() local
589 ptep++; in pgtable_trans_huge_withdraw()
732 pte = *ptep; in ptep_zap_unused()
776 pte = *ptep; in ptep_test_and_clear_uc()
799 pte_t *ptep; in set_guest_storage_key() local
834 if (!ptep) in set_guest_storage_key()
941 if (!ptep) in reset_guest_reference_bit()
[all …]
/linux-6.15/arch/riscv/mm/
H A Dhugetlbpage.c10 pte_t orig_pte = ptep_get(ptep); in huge_ptep_get()
18 pte_t pte = ptep_get(ptep); in huge_ptep_get()
150 pte_t *ptep, in get_clear_contig() argument
159 ptep++; in get_clear_contig()
174 pte_t *ptep, in get_clear_contig_flush() argument
205 pte_t *ptep, in clear_flush() argument
248 pte_t *ptep, in set_huge_pte_at() argument
276 pte_t *ptep, in huge_ptep_set_access_flags() argument
323 pte_t *ptep) in huge_ptep_set_wrprotect() argument
348 pte_t *ptep) in huge_ptep_clear_flush() argument
[all …]
/linux-6.15/arch/s390/include/asm/
H A Dhugetlb.h22 pte_t *ptep, pte_t pte, unsigned long sz);
24 pte_t *ptep, pte_t pte);
30 pte_t *ptep);
34 unsigned long addr, pte_t *ptep, in huge_ptep_get_and_clear() argument
37 return __huge_ptep_get_and_clear(mm, addr, ptep); in huge_ptep_get_and_clear()
48 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument
51 set_pte(ptep, __pte(_REGION3_ENTRY_EMPTY)); in huge_pte_clear()
53 set_pte(ptep, __pte(_SEGMENT_ENTRY_EMPTY)); in huge_pte_clear()
58 unsigned long address, pte_t *ptep) in huge_ptep_clear_flush() argument
65 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
[all …]
/linux-6.15/drivers/iommu/
H A Dio-pgtable-dart.c189 dart_iopte pte, *ptep; in dart_get_l2() local
192 ptep = data->pgd[tbl]; in dart_get_l2()
193 if (!ptep) in dart_get_l2()
253 ptep = data->pgd[tbl]; in dart_map_pages()
278 ptep += map_idx_start; in dart_map_pages()
299 dart_iopte pte, *ptep; in dart_unmap_pages() local
307 if (WARN_ON(!ptep)) in dart_unmap_pages()
322 *ptep = 0; in dart_unmap_pages()
328 ptep++; in dart_unmap_pages()
344 if (!ptep) in dart_iova_to_phys()
[all …]
H A Dio-pgtable-arm.c332 ptep[i] = 0; in __arm_lpae_clear_pte()
441 ptep += map_idx_start; in __arm_lpae_map()
459 pte = READ_ONCE(*ptep); in __arm_lpae_map()
600 start = ptep; in __arm_lpae_free_pgtable()
604 end = ptep; in __arm_lpae_free_pgtable()
608 while (ptep != end) { in __arm_lpae_free_pgtable()
642 ptep += unmap_idx_start; in __arm_lpae_unmap()
643 pte = READ_ONCE(*ptep); in __arm_lpae_unmap()
719 arm_lpae_iopte *ptep,
731 data->pte = *ptep; in visit_iova_to_phys()
[all …]
/linux-6.15/arch/arm64/include/asm/
H A Dpgtable.h438 ptep++; in __set_ptes()
658 __set_pte(ptep, pte); in __set_pte_at()
1321 ptep++; in __clear_full_ptes()
1334 ptep++; in __get_and_clear_full_ptes()
1379 ___ptep_set_wrprotect(mm, address, ptep, __ptep_get(ptep)); in __ptep_set_wrprotect()
1426 ptep++; in __clear_young_dirty_ptes()
1697 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in set_ptes()
1708 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in pte_clear()
1717 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in clear_full_ptes()
1732 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in get_and_clear_full_ptes()
[all …]
/linux-6.15/arch/sparc/include/asm/
H A Dhugetlb.h17 pte_t *ptep, pte_t pte, unsigned long sz);
19 pte_t *ptep, pte_t pte);
23 pte_t *ptep, unsigned long sz);
27 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument
29 return *ptep; in huge_ptep_clear_flush()
34 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument
36 pte_t old_pte = *ptep; in huge_ptep_set_wrprotect()
37 __set_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); in huge_ptep_set_wrprotect()
42 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
45 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags()
[all …]
/linux-6.15/include/asm-generic/
H A Dhugetlb.h68 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument
70 pte_clear(mm, addr, ptep); in huge_pte_clear()
85 pte_t *ptep, pte_t pte, unsigned long sz) in set_huge_pte_at() argument
87 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
95 return ptep_get_and_clear(mm, addr, ptep); in huge_ptep_get_and_clear()
101 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument
103 return ptep_clear_flush(vma, addr, ptep); in huge_ptep_clear_flush()
132 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument
134 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect()
140 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
[all …]
/linux-6.15/arch/parisc/mm/
H A Dhugetlbpage.c102 pte_t *ptep, pte_t entry) in __set_huge_pte_at() argument
111 set_pte(ptep, entry); in __set_huge_pte_at()
112 ptep++; in __set_huge_pte_at()
124 __set_huge_pte_at(mm, addr, ptep, entry); in set_huge_pte_at()
129 pte_t *ptep, unsigned long sz) in huge_ptep_get_and_clear() argument
133 entry = *ptep; in huge_ptep_get_and_clear()
141 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument
145 old_pte = *ptep; in huge_ptep_set_wrprotect()
150 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
156 changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags()
[all …]
/linux-6.15/include/linux/
H A Dpgtable.h295 set_pte(ptep, pte); in set_ptes()
298 ptep++; in set_ptes()
303 #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1) argument
375 pte_t *ptep) in ptep_test_and_clear_young() argument
529 ptep++; in clear_young_dirty_ptes()
536 pte_t *ptep) in ptep_clear() argument
716 ptep++; in get_and_clear_full_ptes()
754 ptep++; in clear_full_ptes()
819 ptep++; in clear_not_present_full_ptes()
888 ptep++; in wrprotect_ptes()
[all …]
/linux-6.15/arch/powerpc/include/asm/nohash/32/
H A Dhugetlb-8xx.h19 void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep,
23 static inline pte_t huge_ptep_get(struct mm_struct *mm, unsigned long addr, pte_t *ptep) in huge_ptep_get() argument
25 if (ptep_is_8m_pmdp(mm, addr, ptep)) in huge_ptep_get()
26 ptep = pte_offset_kernel((pmd_t *)ptep, ALIGN_DOWN(addr, SZ_8M)); in huge_ptep_get()
27 return ptep_get(ptep); in huge_ptep_get()
32 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument
34 pte_update(mm, addr, ptep, ~0UL, 0, 1); in huge_pte_clear()
39 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument
44 pte_update(mm, addr, ptep, clr, set, 1); in huge_ptep_set_wrprotect()
/linux-6.15/arch/xtensa/include/asm/
H A Dpgalloc.h24 #define pmd_populate_kernel(mm, pmdp, ptep) \ argument
25 (pmd_val(*(pmdp)) = ((unsigned long)ptep))
35 static inline void ptes_clear(pte_t *ptep) in ptes_clear() argument
40 pte_clear(NULL, 0, ptep + i); in ptes_clear()
45 pte_t *ptep; in pte_alloc_one_kernel() local
47 ptep = (pte_t *)__pte_alloc_one_kernel(mm); in pte_alloc_one_kernel()
48 if (!ptep) in pte_alloc_one_kernel()
50 ptes_clear(ptep); in pte_alloc_one_kernel()
51 return ptep; in pte_alloc_one_kernel()
H A Dpgtable.h243 #define pte_clear(mm,addr,ptep) \ argument
296 *ptep = pteval; in update_pte()
307 update_pte(ptep, pte); in set_pte()
320 pte_t *ptep) in ptep_test_and_clear_young() argument
322 pte_t pte = *ptep; in ptep_test_and_clear_young()
325 update_pte(ptep, pte_mkold(pte)); in ptep_test_and_clear_young()
332 pte_t pte = *ptep; in ptep_get_and_clear()
333 pte_clear(mm, addr, ptep); in ptep_get_and_clear()
340 pte_t pte = *ptep; in ptep_set_wrprotect()
341 update_pte(ptep, pte_wrprotect(pte)); in ptep_set_wrprotect()
[all …]
/linux-6.15/arch/riscv/kvm/
H A Dmmu.c100 pte_t *ptep; in gstage_get_leaf_entry() local
105 ptep = &ptep[gstage_pte_index(addr, current_level)]; in gstage_get_leaf_entry()
106 while (ptep && pte_val(ptep_get(ptep))) { in gstage_get_leaf_entry()
109 *ptepp = ptep; in gstage_get_leaf_entry()
116 ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep)); in gstage_get_leaf_entry()
117 ptep = &ptep[gstage_pte_index(addr, current_level)]; in gstage_get_leaf_entry()
119 ptep = NULL; in gstage_get_leaf_entry()
273 pte_t *ptep; in gstage_unmap_range() local
308 pte_t *ptep; in gstage_wp_range() local
555 pte_t *ptep; in kvm_age_gfn() local
[all …]
/linux-6.15/tools/testing/selftests/kvm/lib/arm64/
H A Dprocessor.c133 uint64_t *ptep; in _virt_pg_map() local
150 if (!*ptep) in _virt_pg_map()
157 if (!*ptep) in _virt_pg_map()
163 if (!*ptep) in _virt_pg_map()
196 if (!ptep) in virt_get_pte_hva()
202 if (!ptep) in virt_get_pte_hva()
207 if (!ptep) in virt_get_pte_hva()
212 if (!ptep) in virt_get_pte_hva()
219 return ptep; in virt_get_pte_hva()
244 if (!*ptep) in pte_dump()
[all …]
/linux-6.15/arch/powerpc/mm/
H A Dpgtable.c215 VM_WARN_ON(pte_hw_valid(*ptep) && !pte_protnone(*ptep)); in set_ptes()
218 __set_pte_at(mm, addr, ptep, pte, 0); in set_ptes()
221 ptep++; in set_ptes()
232 pte_clear(&init_mm, va, ptep); in unmap_kernel_page()
244 pte_t *ptep, pte_t entry, int dirty) in ptep_set_access_flags() argument
248 changed = !pte_same(*(ptep), entry); in ptep_set_access_flags()
259 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument
274 changed = !pte_same(*(ptep), pte); in huge_ptep_set_access_flags()
315 VM_WARN_ON(pte_hw_valid(*ptep) && !pte_protnone(*ptep)); in __set_huge_pte_at()
353 VM_WARN_ON(pte_hw_valid(*ptep) && !pte_protnone(*ptep)); in set_huge_pte_at()
[all …]
H A Dpageattr.c19 static pte_basic_t pte_update_delta(pte_t *ptep, unsigned long addr, in pte_update_delta() argument
22 return pte_update(&init_mm, addr, ptep, old & ~new, new & ~old, 0); in pte_update_delta()
31 static int change_page_attr(pte_t *ptep, unsigned long addr, void *data) in change_page_attr() argument
40 pte_update_delta(ptep, addr, _PAGE_KERNEL_RW & ~_PAGE_DIRTY, _PAGE_KERNEL_RO); in change_page_attr()
44 pte_update_delta(ptep, addr, _PAGE_KERNEL_RW & ~_PAGE_DIRTY, _PAGE_KERNEL_ROX); in change_page_attr()
47 pte_update_delta(ptep, addr, _PAGE_KERNEL_RO, _PAGE_KERNEL_RW); in change_page_attr()
50 pte_update_delta(ptep, addr, _PAGE_KERNEL_ROX, _PAGE_KERNEL_RO); in change_page_attr()
53 pte_update_delta(ptep, addr, _PAGE_KERNEL_RO, _PAGE_KERNEL_ROX); in change_page_attr()
56 pte_update(&init_mm, addr, ptep, _PAGE_PRESENT, 0, 0); in change_page_attr()
59 pte_update(&init_mm, addr, ptep, 0, _PAGE_PRESENT, 0); in change_page_attr()
/linux-6.15/arch/loongarch/include/asm/
H A Dhugetlb.h29 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument
34 set_pte_at(mm, addr, ptep, clear); in huge_pte_clear()
39 unsigned long addr, pte_t *ptep, in huge_ptep_get_and_clear() argument
43 pte_t pte = ptep_get(ptep); in huge_ptep_get_and_clear()
46 set_pte_at(mm, addr, ptep, clear); in huge_ptep_get_and_clear()
52 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument
57 pte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep, sz); in huge_ptep_clear_flush()
72 pte_t *ptep, pte_t pte, in huge_ptep_set_access_flags() argument
75 int changed = !pte_same(ptep_get(ptep), pte); in huge_ptep_set_access_flags()
78 set_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
/linux-6.15/arch/powerpc/include/asm/book3s/64/
H A Dhash.h162 pte_t *ptep, unsigned long pte, int huge);
178 : "=&r" (old_be), "=&r" (tmp_be), "=m" (*ptep) in hash__pte_update_one()
179 : "r" (ptep), "r" (cpu_to_be64(clr)), "m" (*ptep), in hash__pte_update_one()
188 pte_t *ptep, unsigned long clr, in hash__pte_update() argument
194 old = hash__pte_update_one(ptep, clr, set); in hash__pte_update()
210 hash__pte_update_one(ptep + i, clr, set); in hash__pte_update()
217 hpte_need_flush(mm, addr, ptep, old, huge); in hash__pte_update()
241 :"=&r" (old), "=&r" (tmp), "=m" (*ptep) in hash__ptep_set_access_flags()
242 :"r" (val), "r" (ptep), "m" (*ptep), "r" (cpu_to_be64(H_PAGE_BUSY)) in hash__ptep_set_access_flags()
265 pte_t *ptep, pte_t pte, int percpu) in hash__set_pte_at() argument
[all …]
/linux-6.15/arch/powerpc/mm/book3s64/
H A Dhugetlbpage.c21 pte_t *ptep, unsigned long trap, unsigned long flags, in __hash_page_huge() argument
49 old_pte = pte_val(*ptep); in __hash_page_huge()
74 } while(!pte_xchg(ptep, __pte(old_pte), __pte(new_pte))); in __hash_page_huge()
85 rpte = __real_pte(__pte(old_pte), ptep, offset); in __hash_page_huge()
121 *ptep = __pte(old_pte); in __hash_page_huge()
127 new_pte |= pte_set_hidx(ptep, rpte, 0, slot, offset); in __hash_page_huge()
133 *ptep = __pte(new_pte & ~H_PAGE_BUSY); in __hash_page_huge()
139 unsigned long addr, pte_t *ptep) in huge_ptep_modify_prot_start() argument
147 pte_val = pte_update(vma->vm_mm, addr, ptep, in huge_ptep_modify_prot_start()
154 pte_t *ptep, pte_t old_pte, pte_t pte) in huge_ptep_modify_prot_commit() argument
[all …]
/linux-6.15/arch/mips/include/asm/
H A Dhugetlb.h30 unsigned long addr, pte_t *ptep, in huge_ptep_get_and_clear() argument
34 pte_t pte = *ptep; in huge_ptep_get_and_clear()
37 set_pte_at(mm, addr, ptep, clear); in huge_ptep_get_and_clear()
43 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument
53 pte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep, sz); in huge_ptep_clear_flush()
68 pte_t *ptep, pte_t pte, in huge_ptep_set_access_flags() argument
71 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags()
74 set_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
/linux-6.15/arch/powerpc/include/asm/nohash/
H A Dpgtable.h103 unsigned long addr, pte_t *ptep) in ptep_test_and_clear_young() argument
115 pte_t *ptep) in ptep_set_wrprotect() argument
117 pte_update(mm, addr, ptep, _PAGE_WRITE, 0, 0); in ptep_set_wrprotect()
123 pte_t *ptep) in ptep_get_and_clear() argument
131 pte_update(mm, addr, ptep, ~0UL, 0, 0); in pte_clear()
137 pte_t *ptep, pte_t entry, in __ptep_set_access_flags() argument
145 pte_update(vma->vm_mm, address, ptep, 0, set, huge); in __ptep_set_access_flags()
310 pte_t *ptep, pte_t pte, int percpu) in __set_pte_at() argument
322 : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) in __set_pte_at()
330 ptep->pte3 = ptep->pte2 = ptep->pte1 = ptep->pte = pte_val(pte); in __set_pte_at()
[all …]
/linux-6.15/arch/powerpc/kvm/
H A Dbook3s_64_mmu_radix.c798 pte_t *ptep; in kvmppc_hv_handle_set_rc() local
814 if (ptep && pte_present(*ptep) && (!writing || pte_write(*ptep))) { in kvmppc_hv_handle_set_rc()
855 if (ptep) in kvmppc_book3s_instantiate_page()
1014 pte_t *ptep; in kvm_unmap_radix() local
1024 if (ptep && pte_present(*ptep)) in kvm_unmap_radix()
1033 pte_t *ptep; in kvm_age_radix() local
1043 if (ptep && pte_present(*ptep) && pte_young(*ptep)) { in kvm_age_radix()
1071 if (ptep && pte_present(*ptep) && pte_young(*ptep)) in kvm_test_age_radix()
1095 if (!ptep) in kvm_radix_test_clear_dirty()
1111 if (!pte_present(*ptep) || !pte_dirty(*ptep)) { in kvm_radix_test_clear_dirty()
[all …]

123456789