/Linux-v5.4/arch/s390/mm/ |
D | pgtable.c | 30 pte_t *ptep, int nodat) in ptep_ipte_local() argument 43 __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); in ptep_ipte_local() 45 __ptep_ipte(addr, ptep, 0, 0, IPTE_LOCAL); in ptep_ipte_local() 50 pte_t *ptep, int nodat) in ptep_ipte_global() argument 63 __ptep_ipte(addr, ptep, opt, asce, IPTE_GLOBAL); in ptep_ipte_global() 65 __ptep_ipte(addr, ptep, 0, 0, IPTE_GLOBAL); in ptep_ipte_global() 70 unsigned long addr, pte_t *ptep, in ptep_flush_direct() argument 75 old = *ptep; in ptep_flush_direct() 81 ptep_ipte_local(mm, addr, ptep, nodat); in ptep_flush_direct() 83 ptep_ipte_global(mm, addr, ptep, nodat); in ptep_flush_direct() [all …]
|
/Linux-v5.4/arch/arm64/mm/ |
D | hugetlbpage.c | 67 pte_t *ptep, size_t *pgsize) in find_num_contig() argument 76 if ((pte_t *)pmdp == ptep) { in find_num_contig() 119 pte_t *ptep, in get_clear_flush() argument 123 pte_t orig_pte = huge_ptep_get(ptep); in get_clear_flush() 127 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) { in get_clear_flush() 128 pte_t pte = ptep_get_and_clear(mm, addr, ptep); in get_clear_flush() 160 pte_t *ptep, in clear_flush() argument 167 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in clear_flush() 168 pte_clear(mm, addr, ptep); in clear_flush() 174 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument [all …]
|
/Linux-v5.4/tools/testing/selftests/kvm/lib/aarch64/ |
D | processor.c | 92 uint64_t *ptep; in _virt_pg_map() local 108 ptep = addr_gpa2hva(vm, vm->pgd) + pgd_index(vm, vaddr) * 8; in _virt_pg_map() 109 if (!*ptep) { in _virt_pg_map() 110 *ptep = vm_phy_page_alloc(vm, KVM_GUEST_PAGE_TABLE_MIN_PADDR, pgd_memslot); in _virt_pg_map() 111 *ptep |= 3; in _virt_pg_map() 116 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pud_index(vm, vaddr) * 8; in _virt_pg_map() 117 if (!*ptep) { in _virt_pg_map() 118 *ptep = vm_phy_page_alloc(vm, KVM_GUEST_PAGE_TABLE_MIN_PADDR, pgd_memslot); in _virt_pg_map() 119 *ptep |= 3; in _virt_pg_map() 123 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pmd_index(vm, vaddr) * 8; in _virt_pg_map() [all …]
|
/Linux-v5.4/arch/s390/include/asm/ |
D | hugetlb.h | 19 pte_t *ptep, pte_t pte); 20 pte_t huge_ptep_get(pte_t *ptep); 22 unsigned long addr, pte_t *ptep); 51 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument 53 if ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) in huge_pte_clear() 54 pte_val(*ptep) = _REGION3_ENTRY_EMPTY; in huge_pte_clear() 56 pte_val(*ptep) = _SEGMENT_ENTRY_EMPTY; in huge_pte_clear() 60 unsigned long address, pte_t *ptep) in huge_ptep_clear_flush() argument 62 huge_ptep_get_and_clear(vma->vm_mm, address, ptep); in huge_ptep_clear_flush() 66 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument [all …]
|
/Linux-v5.4/include/asm-generic/ |
D | hugetlb.h | 37 pte_t *ptep, unsigned long sz) in huge_pte_clear() argument 39 pte_clear(mm, addr, ptep); in huge_pte_clear() 54 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument 56 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at() 62 unsigned long addr, pte_t *ptep) in huge_ptep_get_and_clear() argument 64 return ptep_get_and_clear(mm, addr, ptep); in huge_ptep_get_and_clear() 70 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument 72 ptep_clear_flush(vma, addr, ptep); in huge_ptep_clear_flush() 107 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument 109 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect() [all …]
|
/Linux-v5.4/arch/powerpc/include/asm/nohash/64/ |
D | pgtable.h | 210 pte_t *ptep, unsigned long clr, in pte_update() argument 223 : "=&r" (old), "=&r" (tmp), "=m" (*ptep) in pte_update() 224 : "r" (ptep), "r" (clr), "m" (*ptep), "r" (set) in pte_update() 227 unsigned long old = pte_val(*ptep); in pte_update() 228 *ptep = __pte((old & ~clr) | set); in pte_update() 243 unsigned long addr, pte_t *ptep) in __ptep_test_and_clear_young() argument 247 if (pte_young(*ptep)) in __ptep_test_and_clear_young() 249 old = pte_update(mm, addr, ptep, _PAGE_ACCESSED, 0, 0); in __ptep_test_and_clear_young() 262 pte_t *ptep) in ptep_set_wrprotect() argument 265 if ((pte_val(*ptep) & _PAGE_RW) == 0) in ptep_set_wrprotect() [all …]
|
/Linux-v5.4/arch/sparc/include/asm/ |
D | hugetlb.h | 17 pte_t *ptep, pte_t pte); 21 pte_t *ptep); 31 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument 37 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument 39 pte_t old_pte = *ptep; in huge_ptep_set_wrprotect() 40 set_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); in huge_ptep_set_wrprotect() 45 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() argument 48 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags() 50 set_huge_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
|
/Linux-v5.4/arch/arm64/include/asm/ |
D | hugetlb.h | 21 static inline pte_t huge_ptep_get(pte_t *ptep) in huge_ptep_get() argument 23 return READ_ONCE(*ptep); in huge_ptep_get() 42 pte_t *ptep, pte_t pte); 45 unsigned long addr, pte_t *ptep, 49 unsigned long addr, pte_t *ptep); 52 unsigned long addr, pte_t *ptep); 55 unsigned long addr, pte_t *ptep); 58 pte_t *ptep, unsigned long sz); 60 pte_t *ptep, pte_t pte, unsigned long sz);
|
/Linux-v5.4/arch/parisc/mm/ |
D | hugetlbpage.c | 118 pte_t *ptep, pte_t entry) in __set_huge_pte_at() argument 127 set_pte(ptep, entry); in __set_huge_pte_at() 128 ptep++; in __set_huge_pte_at() 138 pte_t *ptep, pte_t entry) in set_huge_pte_at() argument 143 __set_huge_pte_at(mm, addr, ptep, entry); in set_huge_pte_at() 149 pte_t *ptep) in huge_ptep_get_and_clear() argument 155 entry = *ptep; in huge_ptep_get_and_clear() 156 __set_huge_pte_at(mm, addr, ptep, __pte(0)); in huge_ptep_get_and_clear() 164 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() argument 170 old_pte = *ptep; in huge_ptep_set_wrprotect() [all …]
|
/Linux-v5.4/arch/powerpc/mm/book3s64/ |
D | hash_hugetlbpage.c | 26 pte_t *ptep, unsigned long trap, unsigned long flags, in __hash_page_huge() argument 54 old_pte = pte_val(*ptep); in __hash_page_huge() 69 } while(!pte_xchg(ptep, __pte(old_pte), __pte(new_pte))); in __hash_page_huge() 80 rpte = __real_pte(__pte(old_pte), ptep, offset); in __hash_page_huge() 116 *ptep = __pte(old_pte); in __hash_page_huge() 122 new_pte |= pte_set_hidx(ptep, rpte, 0, slot, offset); in __hash_page_huge() 128 *ptep = __pte(new_pte & ~H_PAGE_BUSY); in __hash_page_huge() 133 unsigned long addr, pte_t *ptep) in huge_ptep_modify_prot_start() argument 141 pte_val = pte_update(vma->vm_mm, addr, ptep, in huge_ptep_modify_prot_start() 148 pte_t *ptep, pte_t old_pte, pte_t pte) in huge_ptep_modify_prot_commit() argument [all …]
|
D | hash_64k.c | 37 pte_t *ptep, unsigned long trap, unsigned long flags, in __hash_page_4K() argument 52 pte_t pte = READ_ONCE(*ptep); in __hash_page_4K() 69 } while (!pte_xchg(ptep, __pte(old_pte), __pte(new_pte))); in __hash_page_4K() 89 rpte = __real_pte(__pte(old_pte), ptep, PTRS_PER_PTE); in __hash_page_4K() 129 *ptep = __pte(new_pte & ~H_PAGE_BUSY); in __hash_page_4K() 210 *ptep = __pte(old_pte); in __hash_page_4K() 216 new_pte |= pte_set_hidx(ptep, rpte, subpg_index, slot, PTRS_PER_PTE); in __hash_page_4K() 219 *ptep = __pte(new_pte & ~H_PAGE_BUSY); in __hash_page_4K() 224 unsigned long vsid, pte_t *ptep, unsigned long trap, in __hash_page_64K() argument 238 pte_t pte = READ_ONCE(*ptep); in __hash_page_64K() [all …]
|
D | radix_pgtable.c | 68 pte_t *ptep; in early_map_kernel_page() local 78 ptep = (pte_t *)pudp; in early_map_kernel_page() 88 ptep = pmdp_ptep(pmdp); in early_map_kernel_page() 92 ptep = early_alloc_pgtable(PAGE_SIZE, nid, in early_map_kernel_page() 94 pmd_populate_kernel(&init_mm, pmdp, ptep); in early_map_kernel_page() 96 ptep = pte_offset_kernel(pmdp, ea); in early_map_kernel_page() 99 set_pte_at(&init_mm, ea, ptep, pfn_pte(pfn, flags)); in early_map_kernel_page() 118 pte_t *ptep; in __map_kernel_page() local 142 ptep = (pte_t *)pudp; in __map_kernel_page() 149 ptep = pmdp_ptep(pmdp); in __map_kernel_page() [all …]
|
/Linux-v5.4/arch/powerpc/include/asm/book3s/64/ |
D | radix.h | 124 extern void radix__ptep_set_access_flags(struct vm_area_struct *vma, pte_t *ptep, 129 unsigned long addr, pte_t *ptep, 132 static inline unsigned long __radix_pte_update(pte_t *ptep, unsigned long clr, in __radix_pte_update() argument 143 : "=&r" (old_be), "=&r" (tmp_be), "=m" (*ptep) in __radix_pte_update() 144 : "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr)) in __radix_pte_update() 152 pte_t *ptep, unsigned long clr, in radix__pte_update() argument 158 old_pte = __radix_pte_update(ptep, clr, set); in radix__pte_update() 167 pte_t *ptep, int full) in radix__ptep_get_and_clear_full() argument 172 old_pte = pte_val(*ptep); in radix__ptep_get_and_clear_full() 173 *ptep = __pte(0); in radix__ptep_get_and_clear_full() [all …]
|
D | hash.h | 147 pte_t *ptep, unsigned long pte, int huge); 152 pte_t *ptep, unsigned long clr, in hash__pte_update() argument 167 : "=&r" (old_be), "=&r" (tmp_be), "=m" (*ptep) in hash__pte_update() 168 : "r" (ptep), "r" (cpu_to_be64(clr)), "m" (*ptep), in hash__pte_update() 177 hpte_need_flush(mm, addr, ptep, old, huge); in hash__pte_update() 185 static inline void hash__ptep_set_access_flags(pte_t *ptep, pte_t entry) in hash__ptep_set_access_flags() argument 201 :"=&r" (old), "=&r" (tmp), "=m" (*ptep) in hash__ptep_set_access_flags() 202 :"r" (val), "r" (ptep), "m" (*ptep), "r" (cpu_to_be64(H_PAGE_BUSY)) in hash__ptep_set_access_flags() 225 pte_t *ptep, pte_t pte, int percpu) in hash__set_pte_at() argument 231 *ptep = pte; in hash__set_pte_at()
|
/Linux-v5.4/arch/x86/xen/ |
D | p2m.c | 220 pte_t *ptep; in xen_build_mfn_list_list() local 248 ptep = lookup_address((unsigned long)(xen_p2m_addr + pfn), in xen_build_mfn_list_list() 250 BUG_ON(!ptep || level != PG_LEVEL_4K); in xen_build_mfn_list_list() 251 mfn = pte_mfn(*ptep); in xen_build_mfn_list_list() 252 ptep = (pte_t *)((unsigned long)ptep & ~(PAGE_SIZE - 1)); in xen_build_mfn_list_list() 258 if (ptep == p2m_missing_pte || ptep == p2m_identity_pte) { in xen_build_mfn_list_list() 336 pte_t *ptep; in xen_rebuild_p2m_list() local 388 ptep = populate_extra_pte((unsigned long)(p2m + pfn)); in xen_rebuild_p2m_list() 389 set_pte(ptep, in xen_rebuild_p2m_list() 398 ptep = populate_extra_pte((unsigned long)(p2m + pfn)); in xen_rebuild_p2m_list() [all …]
|
/Linux-v5.4/arch/powerpc/include/asm/book3s/32/ |
D | pgtable.h | 215 #define pte_clear(mm, addr, ptep) \ argument 216 do { pte_update(ptep, ~_PAGE_HASHPTE, 0); } while (0) 239 extern void flush_hash_entry(struct mm_struct *mm, pte_t *ptep, 304 static inline int __ptep_test_and_clear_young(unsigned int context, unsigned long addr, pte_t *ptep) in __ptep_test_and_clear_young() argument 307 old = pte_update(ptep, _PAGE_ACCESSED, 0); in __ptep_test_and_clear_young() 309 unsigned long ptephys = __pa(ptep) & PAGE_MASK; in __ptep_test_and_clear_young() 319 pte_t *ptep) in ptep_get_and_clear() argument 321 return __pte(pte_update(ptep, ~_PAGE_HASHPTE, 0)); in ptep_get_and_clear() 326 pte_t *ptep) in ptep_set_wrprotect() argument 328 pte_update(ptep, _PAGE_RW, 0); in ptep_set_wrprotect() [all …]
|
/Linux-v5.4/arch/riscv/include/asm/ |
D | pgtable.h | 303 unsigned long address, pte_t *ptep) in update_mmu_cache() argument 326 static inline void set_pte(pte_t *ptep, pte_t pteval) in set_pte() argument 328 *ptep = pteval; in set_pte() 334 unsigned long addr, pte_t *ptep, pte_t pteval) in set_pte_at() argument 339 set_pte(ptep, pteval); in set_pte_at() 343 unsigned long addr, pte_t *ptep) in pte_clear() argument 345 set_pte_at(mm, addr, ptep, __pte(0)); in pte_clear() 350 unsigned long address, pte_t *ptep, in ptep_set_access_flags() argument 353 if (!pte_same(*ptep, entry)) in ptep_set_access_flags() 354 set_pte_at(vma->vm_mm, address, ptep, entry); in ptep_set_access_flags() [all …]
|
/Linux-v5.4/include/trace/events/ |
D | xen.h | 131 TP_PROTO(pte_t *ptep, pte_t pteval), 132 TP_ARGS(ptep, pteval), 134 __field(pte_t *, ptep) 137 TP_fast_assign(__entry->ptep = ptep; 140 __entry->ptep, 147 TP_PROTO(pte_t *ptep, pte_t pteval), \ 148 TP_ARGS(ptep, pteval)) 154 pte_t *ptep, pte_t pteval), 155 TP_ARGS(mm, addr, ptep, pteval), 159 __field(pte_t *, ptep) [all …]
|
/Linux-v5.4/arch/xtensa/include/asm/ |
D | pgtable.h | 259 #define pte_clear(mm,addr,ptep) \ argument 260 do { update_pte(ptep, __pte(_PAGE_CA_INVALID | _PAGE_USER)); } while (0) 310 static inline void update_pte(pte_t *ptep, pte_t pteval) in update_pte() argument 312 *ptep = pteval; in update_pte() 314 __asm__ __volatile__ ("dhwb %0, 0" :: "a" (ptep)); in update_pte() 322 set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pteval) in set_pte_at() argument 324 update_pte(ptep, pteval); in set_pte_at() 327 static inline void set_pte(pte_t *ptep, pte_t pteval) in set_pte() argument 329 update_pte(ptep, pteval); in set_pte() 342 pte_t *ptep) in ptep_test_and_clear_young() argument [all …]
|
D | pgalloc.h | 19 #define pmd_populate_kernel(mm, pmdp, ptep) \ argument 20 (pmd_val(*(pmdp)) = ((unsigned long)ptep)) 38 pte_t *ptep; in pte_alloc_one_kernel() local 41 ptep = (pte_t *)__get_free_page(GFP_KERNEL); in pte_alloc_one_kernel() 42 if (!ptep) in pte_alloc_one_kernel() 45 pte_clear(NULL, 0, ptep + i); in pte_alloc_one_kernel() 46 return ptep; in pte_alloc_one_kernel()
|
/Linux-v5.4/arch/powerpc/kvm/ |
D | book3s_64_mmu_radix.c | 338 static unsigned long kvmppc_radix_update_pte(struct kvm *kvm, pte_t *ptep, in kvmppc_radix_update_pte() argument 342 return __radix_pte_update(ptep, clr, set); in kvmppc_radix_update_pte() 346 pte_t *ptep, pte_t pte) in kvmppc_radix_set_pte_at() argument 348 radix__set_pte_at(kvm->mm, addr, ptep, pte, 0); in kvmppc_radix_set_pte_at() 359 static void kvmppc_pte_free(pte_t *ptep) in kvmppc_pte_free() argument 361 kmem_cache_free(kvm_pte_cache, ptep); in kvmppc_pte_free() 571 pte_t *ptep, *new_ptep = NULL; in kvmppc_create_pte() local 708 ptep = pte_offset_kernel(pmd, gpa); in kvmppc_create_pte() 709 if (pte_present(*ptep)) { in kvmppc_create_pte() 711 if (pte_raw(*ptep) == pte_raw(pte)) { in kvmppc_create_pte() [all …]
|
/Linux-v5.4/drivers/iommu/ |
D | io-pgtable-arm-v7s.c | 296 static void __arm_v7s_pte_sync(arm_v7s_iopte *ptep, int num_entries, in __arm_v7s_pte_sync() argument 302 dma_sync_single_for_device(cfg->iommu_dev, __arm_v7s_dma_addr(ptep), in __arm_v7s_pte_sync() 303 num_entries * sizeof(*ptep), DMA_TO_DEVICE); in __arm_v7s_pte_sync() 305 static void __arm_v7s_set_pte(arm_v7s_iopte *ptep, arm_v7s_iopte pte, in __arm_v7s_set_pte() argument 311 ptep[i] = pte; in __arm_v7s_set_pte() 313 __arm_v7s_pte_sync(ptep, num_entries, cfg); in __arm_v7s_set_pte() 414 int lvl, int num_entries, arm_v7s_iopte *ptep) in arm_v7s_init_pte() argument 421 if (ARM_V7S_PTE_IS_TABLE(ptep[i], lvl)) { in arm_v7s_init_pte() 429 tblp = ptep - ARM_V7S_LVL_IDX(iova, lvl); in arm_v7s_init_pte() 433 } else if (ptep[i]) { in arm_v7s_init_pte() [all …]
|
D | io-pgtable-arm.c | 278 static void __arm_lpae_sync_pte(arm_lpae_iopte *ptep, in __arm_lpae_sync_pte() argument 281 dma_sync_single_for_device(cfg->iommu_dev, __arm_lpae_dma_addr(ptep), in __arm_lpae_sync_pte() 282 sizeof(*ptep), DMA_TO_DEVICE); in __arm_lpae_sync_pte() 285 static void __arm_lpae_set_pte(arm_lpae_iopte *ptep, arm_lpae_iopte pte, in __arm_lpae_set_pte() argument 288 *ptep = pte; in __arm_lpae_set_pte() 291 __arm_lpae_sync_pte(ptep, cfg); in __arm_lpae_set_pte() 297 arm_lpae_iopte *ptep); 301 int lvl, arm_lpae_iopte *ptep) in __arm_lpae_init_pte() argument 318 __arm_lpae_set_pte(ptep, pte, &data->iop.cfg); in __arm_lpae_init_pte() 324 arm_lpae_iopte *ptep) in arm_lpae_init_pte() argument [all …]
|
/Linux-v5.4/arch/mips/include/asm/ |
D | hugetlb.h | 42 unsigned long addr, pte_t *ptep) in huge_ptep_get_and_clear() argument 45 pte_t pte = *ptep; in huge_ptep_get_and_clear() 48 set_pte_at(mm, addr, ptep, clear); in huge_ptep_get_and_clear() 54 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() argument 69 pte_t *ptep, pte_t pte, in huge_ptep_set_access_flags() argument 72 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags() 75 set_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
|
/Linux-v5.4/arch/powerpc/include/asm/nohash/ |
D | pgtable.h | 184 extern void set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, 193 pte_t *ptep, pte_t pte, int percpu) in __set_pte_at() argument 205 : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) in __set_pte_at() 213 ptep->pte = ptep->pte1 = ptep->pte2 = ptep->pte3 = pte_val(pte); in __set_pte_at() 215 *ptep = pte; in __set_pte_at() 231 pte_t *ptep, pte_t entry, int dirty); 303 void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep); 306 void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) {} in update_mmu_cache() argument
|