| /linux/arch/arm64/mm/ |
| A D | contpte.c | 26 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 …]
|
| A D | hugetlbpage.c | 83 pte_t *ptep, size_t *pgsize) in find_num_contig() argument 94 if ((pte_t *)pmdp == ptep) { in find_num_contig() 134 pte_t orig_pte = __ptep_get(ptep); in huge_ptep_get() 141 pte_t pte = __ptep_get(ptep); in huge_ptep_get() 162 pte_t *ptep, in get_clear_contig() argument 188 pte_t *ptep, in get_clear_contig_flush() argument 210 pte_t *ptep, in clear_flush() argument 262 pte_t *ptep = NULL; in huge_pte_alloc() local 274 ptep = (pte_t *)pudp; in huge_pte_alloc() 293 return ptep; in huge_pte_alloc() [all …]
|
| /linux/arch/s390/mm/ |
| A D | pgtable.c | 93 old = *ptep; in ptep_flush_direct() 112 old = *ptep; in ptep_flush_lazy() 118 set_pte(ptep, set_pte_bit(*ptep, __pgprot(_PAGE_INVALID))); in ptep_flush_lazy() 584 pte_t *ptep; in pgtable_trans_huge_withdraw() local 599 ptep++; in pgtable_trans_huge_withdraw() 742 pte = *ptep; in ptep_zap_unused() 786 pte = *ptep; in ptep_test_and_clear_uc() 809 pte_t *ptep; in set_guest_storage_key() local 844 if (!ptep) in set_guest_storage_key() 951 if (!ptep) in reset_guest_reference_bit() [all …]
|
| /linux/arch/riscv/mm/ |
| A D | hugetlbpage.c | 10 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 171 pte_t *ptep, in get_clear_contig_flush() argument 202 pte_t *ptep, in clear_flush() argument 225 pte_t *ptep, in set_huge_pte_at() argument 265 pte_t *ptep, in huge_ptep_set_access_flags() argument 296 pte_t *ptep) in huge_ptep_get_and_clear() argument 311 pte_t *ptep) in huge_ptep_set_wrprotect() argument 336 pte_t *ptep) in huge_ptep_clear_flush() argument [all …]
|
| /linux/drivers/iommu/ |
| A D | io-pgtable-dart.c | 190 dart_iopte pte, *ptep; in dart_get_l2() local 193 ptep = data->pgd[tbl]; in dart_get_l2() 194 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 …]
|
| A D | io-pgtable-arm.c | 280 ptep[i] = 0; in __arm_lpae_clear_pte() 389 ptep += map_idx_start; in __arm_lpae_map() 407 pte = READ_ONCE(*ptep); in __arm_lpae_map() 523 ptep, gfp, mapped); in arm_lpae_map_pages() 544 start = ptep; in __arm_lpae_free_pgtable() 548 end = ptep; in __arm_lpae_free_pgtable() 552 while (ptep != end) { in __arm_lpae_free_pgtable() 646 ptep += unmap_idx_start; in __arm_lpae_unmap() 647 pte = READ_ONCE(*ptep); in __arm_lpae_unmap() 724 if (!ptep) in arm_lpae_iova_to_phys() [all …]
|
| /linux/arch/s390/include/asm/ |
| A D | hugetlb.h | 19 pte_t *ptep, pte_t pte, unsigned long sz); 21 pte_t *ptep, pte_t pte); 24 unsigned long addr, pte_t *ptep); 49 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument 52 set_pte(ptep, __pte(_REGION3_ENTRY_EMPTY)); in huge_pte_clear() 54 set_pte(ptep, __pte(_SEGMENT_ENTRY_EMPTY)); in huge_pte_clear() 58 unsigned long address, pte_t *ptep) in huge_ptep_clear_flush() argument 64 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument 69 huge_ptep_get_and_clear(vma->vm_mm, addr, ptep); in huge_ptep_set_access_flags() 70 __set_huge_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags() [all …]
|
| /linux/arch/arm64/include/asm/ |
| A D | pgtable.h | 436 ptep++; in __set_ptes() 656 __set_pte(ptep, pte); in __set_pte_at() 1289 ptep++; in __clear_full_ptes() 1302 ptep++; in __get_and_clear_full_ptes() 1347 ___ptep_set_wrprotect(mm, address, ptep, __ptep_get(ptep)); in __ptep_set_wrprotect() 1394 ptep++; in __clear_young_dirty_ptes() 1661 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in set_ptes() 1672 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in pte_clear() 1681 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in clear_full_ptes() 1696 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); in get_and_clear_full_ptes() [all …]
|
| A D | hugetlb.h | 31 pte_t *ptep, pte_t pte, unsigned long sz); 34 unsigned long addr, pte_t *ptep, 38 unsigned long addr, pte_t *ptep); 41 unsigned long addr, pte_t *ptep); 44 unsigned long addr, pte_t *ptep); 47 pte_t *ptep, unsigned long sz); 49 extern pte_t huge_ptep_get(struct mm_struct *mm, unsigned long addr, pte_t *ptep); 55 unsigned long addr, pte_t *ptep); 59 unsigned long addr, pte_t *ptep,
|
| /linux/arch/sparc/include/asm/ |
| A D | hugetlb.h | 17 pte_t *ptep, pte_t pte, unsigned long sz); 19 pte_t *ptep, pte_t pte); 23 pte_t *ptep); 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/include/asm-generic/ |
| A D | hugetlb.h | 62 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument 64 pte_clear(mm, addr, ptep); in huge_pte_clear() 79 pte_t *ptep, pte_t pte, unsigned long sz) in set_huge_pte_at() argument 81 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at() 87 unsigned long addr, pte_t *ptep) in huge_ptep_get_and_clear() argument 95 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument 97 return ptep_clear_flush(vma, addr, ptep); in huge_ptep_clear_flush() 131 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument 133 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect() 139 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument [all …]
|
| /linux/arch/powerpc/include/asm/nohash/32/ |
| A D | hugetlb-8xx.h | 19 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/include/linux/ |
| A D | pgtable.h | 271 set_pte(ptep, pte); in set_ptes() 274 ptep++; in set_ptes() 280 #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1) argument 352 pte_t *ptep) in ptep_test_and_clear_young() argument 506 ptep++; in clear_young_dirty_ptes() 513 pte_t *ptep) in ptep_clear() argument 686 ptep++; in get_and_clear_full_ptes() 724 ptep++; in clear_full_ptes() 789 ptep++; in clear_not_present_full_ptes() 858 ptep++; in wrprotect_ptes() [all …]
|
| /linux/arch/xtensa/include/asm/ |
| A D | pgalloc.h | 24 #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()
|
| A D | pgtable.h | 243 #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/arch/riscv/kvm/ |
| A D | mmu.c | 100 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/tools/testing/selftests/kvm/lib/aarch64/ |
| A D | processor.c | 132 uint64_t *ptep; in _virt_pg_map() local 149 if (!*ptep) in _virt_pg_map() 155 if (!*ptep) in _virt_pg_map() 160 if (!*ptep) in _virt_pg_map() 188 if (!ptep) in virt_get_pte_hva() 194 if (!ptep) in virt_get_pte_hva() 199 if (!ptep) in virt_get_pte_hva() 204 if (!ptep) in virt_get_pte_hva() 211 return ptep; in virt_get_pte_hva() 236 if (!*ptep) in pte_dump() [all …]
|
| /linux/arch/parisc/mm/ |
| A D | hugetlbpage.c | 123 pte_t *ptep, pte_t entry) in __set_huge_pte_at() argument 132 set_pte(ptep, entry); in __set_huge_pte_at() 133 ptep++; in __set_huge_pte_at() 145 __set_huge_pte_at(mm, addr, ptep, entry); in set_huge_pte_at() 150 pte_t *ptep) in huge_ptep_get_and_clear() argument 154 entry = *ptep; in huge_ptep_get_and_clear() 162 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument 166 old_pte = *ptep; in huge_ptep_set_wrprotect() 171 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument 177 changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags() [all …]
|
| /linux/arch/powerpc/mm/ |
| A D | pgtable.c | 215 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 …]
|
| A D | pageattr.c | 19 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/arch/powerpc/include/asm/book3s/64/ |
| A D | hash.h | 162 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/arch/powerpc/mm/book3s64/ |
| A D | hugetlbpage.c | 21 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/arch/powerpc/include/asm/nohash/ |
| A D | pgtable.h | 103 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/arch/mips/include/asm/ |
| A D | pgtable.h | 123 ptep->pte_low = pte.pte_low; 157 set_pte(ptep, null); 173 *ptep = pteval; 199 set_pte(ptep, __pte(0)); 213 if (pte_present(ptep[i]) && 223 set_pte(ptep, pte); 226 ptep++; 483 pte_t *ptep) argument 499 set_pte(ptep, entry); 586 pte_t pte = *ptep; [all …]
|
| A D | hugetlb.h | 35 unsigned long addr, pte_t *ptep) in huge_ptep_get_and_clear() argument 38 pte_t pte = *ptep; in huge_ptep_get_and_clear() 41 set_pte_at(mm, addr, ptep, clear); in huge_ptep_get_and_clear() 47 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument 56 pte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep); in huge_ptep_clear_flush() 71 pte_t *ptep, pte_t pte, in huge_ptep_set_access_flags() argument 74 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags() 77 set_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
|