/kernel/linux/linux-6.6/arch/s390/mm/ |
H A D | pgtable.c | 48 pte_t *ptep, int nodat) in ptep_ipte_local() 61 __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); in ptep_ipte_local() 63 __ptep_ipte(addr, ptep, 0, 0, IPTE_LOCAL); in ptep_ipte_local() 68 pte_t *ptep, int nodat) in ptep_ipte_global() 81 __ptep_ipte(addr, ptep, opt, asce, IPTE_GLOBAL); in ptep_ipte_global() 83 __ptep_ipte(addr, ptep, 0, 0, IPTE_GLOBAL); in ptep_ipte_global() 88 unsigned long addr, pte_t *ptep, in ptep_flush_direct() 93 old = *ptep; in ptep_flush_direct() 99 ptep_ipte_local(mm, addr, ptep, nodat); in ptep_flush_direct() 101 ptep_ipte_global(mm, addr, ptep, noda in ptep_flush_direct() 47 ptep_ipte_local(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_ipte_local() argument 67 ptep_ipte_global(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_ipte_global() argument 87 ptep_flush_direct(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_flush_direct() argument 106 ptep_flush_lazy(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_flush_lazy() argument 126 pgste_get_lock(pte_t *ptep) pgste_get_lock() argument 145 pgste_set_unlock(pte_t *ptep, pgste_t pgste) pgste_set_unlock() argument 157 pgste_get(pte_t *ptep) pgste_get() argument 166 pgste_set(pte_t *ptep, pgste_t pgste) pgste_set() argument 194 pgste_set_key(pte_t *ptep, pgste_t pgste, pte_t entry, struct mm_struct *mm) pgste_set_key() argument 216 pgste_set_pte(pte_t *ptep, pgste_t pgste, pte_t entry) pgste_set_pte() argument 239 pgste_pte_notify(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pgste_t pgste) pgste_pte_notify() argument 255 ptep_xchg_start(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_xchg_start() argument 267 ptep_xchg_commit(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pgste_t pgste, pte_t old, pte_t new) ptep_xchg_commit() argument 288 ptep_xchg_direct(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t new) ptep_xchg_direct() argument 309 ptep_reset_dat_prot(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t new) ptep_reset_dat_prot() argument 330 ptep_xchg_lazy(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t new) ptep_xchg_lazy() argument 347 ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) ptep_modify_prot_start() argument 366 ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t old_pte, pte_t pte) ptep_modify_prot_commit() argument 593 pte_t *ptep; pgtable_trans_huge_withdraw() local 615 ptep_set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t entry) ptep_set_pte_at() argument 630 ptep_set_notify(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_set_notify() argument 652 ptep_force_prot(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int prot, unsigned long bit) ptep_force_prot() argument 714 ptep_unshadow_pte(struct mm_struct *mm, unsigned long saddr, pte_t *ptep) ptep_unshadow_pte() argument 740 ptep_zap_unused(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int reset) ptep_zap_unused() argument 764 ptep_zap_key(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_zap_key() argument 784 ptep_test_and_clear_uc(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_test_and_clear_uc() argument 818 pte_t *ptep; set_guest_storage_key() local 928 pte_t *ptep; reset_guest_reference_bit() local 991 pte_t *ptep; get_guest_storage_key() local 1058 pte_t *ptep; pgste_perform_essa() local 1163 pte_t *ptep; set_pgste_bits() local 1194 pte_t *ptep; get_pgste() local [all...] |
/kernel/linux/linux-5.10/arch/s390/mm/ |
H A D | pgtable.c | 48 pte_t *ptep, int nodat) in ptep_ipte_local() 61 __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); in ptep_ipte_local() 63 __ptep_ipte(addr, ptep, 0, 0, IPTE_LOCAL); in ptep_ipte_local() 68 pte_t *ptep, int nodat) in ptep_ipte_global() 81 __ptep_ipte(addr, ptep, opt, asce, IPTE_GLOBAL); in ptep_ipte_global() 83 __ptep_ipte(addr, ptep, 0, 0, IPTE_GLOBAL); in ptep_ipte_global() 88 unsigned long addr, pte_t *ptep, in ptep_flush_direct() 93 old = *ptep; in ptep_flush_direct() 99 ptep_ipte_local(mm, addr, ptep, nodat); in ptep_flush_direct() 101 ptep_ipte_global(mm, addr, ptep, noda in ptep_flush_direct() 47 ptep_ipte_local(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_ipte_local() argument 67 ptep_ipte_global(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_ipte_global() argument 87 ptep_flush_direct(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_flush_direct() argument 106 ptep_flush_lazy(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int nodat) ptep_flush_lazy() argument 126 pgste_get_lock(pte_t *ptep) pgste_get_lock() argument 145 pgste_set_unlock(pte_t *ptep, pgste_t pgste) pgste_set_unlock() argument 157 pgste_get(pte_t *ptep) pgste_get() argument 166 pgste_set(pte_t *ptep, pgste_t pgste) pgste_set() argument 194 pgste_set_key(pte_t *ptep, pgste_t pgste, pte_t entry, struct mm_struct *mm) pgste_set_key() argument 216 pgste_set_pte(pte_t *ptep, pgste_t pgste, pte_t entry) pgste_set_pte() argument 239 pgste_pte_notify(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pgste_t pgste) pgste_pte_notify() argument 255 ptep_xchg_start(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_xchg_start() argument 267 ptep_xchg_commit(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pgste_t pgste, pte_t old, pte_t new) ptep_xchg_commit() argument 288 ptep_xchg_direct(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t new) ptep_xchg_direct() argument 305 ptep_xchg_lazy(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t new) ptep_xchg_lazy() argument 322 ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) ptep_modify_prot_start() argument 341 ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t old_pte, pte_t pte) ptep_modify_prot_commit() argument 554 pte_t *ptep; pgtable_trans_huge_withdraw() local 576 ptep_set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t entry) ptep_set_pte_at() argument 591 ptep_set_notify(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_set_notify() argument 613 ptep_force_prot(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int prot, unsigned long bit) ptep_force_prot() argument 675 ptep_unshadow_pte(struct mm_struct *mm, unsigned long saddr, pte_t *ptep) ptep_unshadow_pte() argument 701 ptep_zap_unused(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int reset) ptep_zap_unused() argument 725 ptep_zap_key(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_zap_key() argument 745 ptep_test_and_clear_uc(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_test_and_clear_uc() argument 779 pte_t *ptep; set_guest_storage_key() local 881 pte_t *ptep; reset_guest_reference_bit() local 936 pte_t *ptep; get_guest_storage_key() local 995 pte_t *ptep; pgste_perform_essa() local 1100 pte_t *ptep; set_pgste_bits() local 1131 pte_t *ptep; get_pgste() local [all...] |
/kernel/linux/linux-6.6/arch/arm64/mm/ |
H A D | hugetlbpage.c | 104 pte_t *ptep, size_t *pgsize) in find_num_contig() 115 if ((pte_t *)pmdp == ptep) { in find_num_contig() 151 pte_t huge_ptep_get(pte_t *ptep) in huge_ptep_get() argument 155 pte_t orig_pte = ptep_get(ptep); in huge_ptep_get() 161 for (i = 0; i < ncontig; i++, ptep++) { in huge_ptep_get() 162 pte_t pte = ptep_get(ptep); in huge_ptep_get() 183 pte_t *ptep, in get_clear_contig() 187 pte_t orig_pte = ptep_get(ptep); in get_clear_contig() 190 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) { in get_clear_contig() 191 pte_t pte = ptep_get_and_clear(mm, addr, ptep); in get_clear_contig() 103 find_num_contig(struct mm_struct *mm, unsigned long addr, pte_t *ptep, size_t *pgsize) find_num_contig() argument 181 get_clear_contig(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pgsize, unsigned long ncontig) get_clear_contig() argument 207 get_clear_contig_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pgsize, unsigned long ncontig) get_clear_contig_flush() argument 229 clear_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pgsize, unsigned long ncontig) clear_flush() argument 244 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned long sz) set_huge_pte_at() argument 283 pte_t *ptep = NULL; huge_pte_alloc() local 394 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) huge_pte_clear() argument 406 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_get_and_clear() argument 430 __cont_access_flags_changed(pte_t *ptep, pte_t pte, int ncontig) __cont_access_flags_changed() argument 450 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument 486 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 513 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_clear_flush() argument 545 huge_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_modify_prot_start() argument 560 huge_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t old_pte, pte_t pte) huge_ptep_modify_prot_commit() argument [all...] |
/kernel/linux/linux-5.10/arch/arm64/mm/ |
H A D | hugetlbpage.c | 104 pte_t *ptep, size_t *pgsize) in find_num_contig() 115 if ((pte_t *)pmdp == ptep) { in find_num_contig() 158 pte_t *ptep, in get_clear_flush() 162 pte_t orig_pte = huge_ptep_get(ptep); in get_clear_flush() 166 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) { in get_clear_flush() 167 pte_t pte = ptep_get_and_clear(mm, addr, ptep); in get_clear_flush() 199 pte_t *ptep, in clear_flush() 206 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) in clear_flush() 207 pte_clear(mm, addr, ptep); in clear_flush() 213 pte_t *ptep, pte_ in set_huge_pte_at() 103 find_num_contig(struct mm_struct *mm, unsigned long addr, pte_t *ptep, size_t *pgsize) find_num_contig() argument 156 get_clear_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pgsize, unsigned long ncontig) get_clear_flush() argument 197 clear_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pgsize, unsigned long ncontig) clear_flush() argument 212 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) set_huge_pte_at() argument 243 set_huge_swap_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned long sz) set_huge_swap_pte_at() argument 262 pte_t *ptep = NULL; huge_pte_alloc() local 359 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) huge_pte_clear() argument 371 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_get_and_clear() argument 395 __cont_access_flags_changed(pte_t *ptep, pte_t pte, int ncontig) __cont_access_flags_changed() argument 415 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument 450 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 477 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_clear_flush() argument [all...] |
/kernel/linux/linux-6.6/arch/riscv/mm/ |
H A D | hugetlbpage.c | 6 pte_t huge_ptep_get(pte_t *ptep) in huge_ptep_get() argument 10 pte_t orig_pte = ptep_get(ptep); in huge_ptep_get() 17 for (i = 0; i < pte_num; i++, ptep++) { in huge_ptep_get() 18 pte_t pte = ptep_get(ptep); in huge_ptep_get() 150 pte_t *ptep, in get_clear_contig() 153 pte_t orig_pte = ptep_get(ptep); in get_clear_contig() 156 for (i = 0; i < pte_num; i++, addr += PAGE_SIZE, ptep++) { in get_clear_contig() 157 pte_t pte = ptep_get_and_clear(mm, addr, ptep); in get_clear_contig() 171 pte_t *ptep, in get_clear_contig_flush() 174 pte_t orig_pte = get_clear_contig(mm, addr, ptep, pte_nu in get_clear_contig_flush() 148 get_clear_contig(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pte_num) get_clear_contig() argument 169 get_clear_contig_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pte_num) get_clear_contig_flush() argument 200 clear_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pgsize, unsigned long ncontig) clear_flush() argument 223 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned long sz) set_huge_pte_at() argument 263 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument 294 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_get_and_clear() argument 309 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 334 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_clear_flush() argument 349 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) huge_pte_clear() argument [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/lib/aarch64/ |
H A 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 | in _virt_pg_map() 150 uint64_t *ptep; addr_gva2gpa() local 190 uint64_t pte, *ptep; pte_dump() local 208 uint64_t pgd, *ptep; virt_dump() local [all...] |
/kernel/linux/linux-6.6/arch/s390/include/asm/ |
H A D | hugetlb.h | 19 pte_t *ptep, pte_t pte, unsigned long sz); 21 pte_t *ptep, pte_t pte); 22 pte_t huge_ptep_get(pte_t *ptep); 24 unsigned long addr, pte_t *ptep); 49 pte_t *ptep, unsigned long sz) in huge_pte_clear() 51 if ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) in huge_pte_clear() 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() 60 return huge_ptep_get_and_clear(vma->vm_mm, address, ptep); in huge_ptep_clear_flush() 48 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) huge_pte_clear() argument 57 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) huge_ptep_clear_flush() argument 63 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument 75 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument [all...] |
/kernel/linux/linux-5.10/arch/s390/include/asm/ |
H A 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); 47 pte_t *ptep, unsigned long sz) in huge_pte_clear() 49 if ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) in huge_pte_clear() 50 pte_val(*ptep) = _REGION3_ENTRY_EMPTY; in huge_pte_clear() 52 pte_val(*ptep) = _SEGMENT_ENTRY_EMPTY; in huge_pte_clear() 56 unsigned long address, pte_t *ptep) in huge_ptep_clear_flush() 58 huge_ptep_get_and_clear(vma->vm_mm, address, ptep); in huge_ptep_clear_flush() 62 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() 46 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) huge_pte_clear() argument 55 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) huge_ptep_clear_flush() argument 61 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument 73 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument [all...] |
/kernel/linux/linux-5.10/arch/arm64/kvm/hyp/ |
H A D | pgtable.c | 156 static void kvm_set_invalid_pte(kvm_pte_t *ptep) in kvm_set_invalid_pte() argument 158 kvm_pte_t pte = *ptep; in kvm_set_invalid_pte() 159 WRITE_ONCE(*ptep, pte & ~KVM_PTE_VALID); in kvm_set_invalid_pte() 162 static void kvm_set_table_pte(kvm_pte_t *ptep, kvm_pte_t *childp) in kvm_set_table_pte() argument 164 kvm_pte_t old = *ptep, pte = kvm_phys_to_pte(__pa(childp)); in kvm_set_table_pte() 170 smp_store_release(ptep, pte); in kvm_set_table_pte() 173 static bool kvm_set_valid_leaf_pte(kvm_pte_t *ptep, u64 pa, kvm_pte_t attr, in kvm_set_valid_leaf_pte() argument 176 kvm_pte_t old = *ptep, pte = kvm_phys_to_pte(pa); in kvm_set_valid_leaf_pte() 188 smp_store_release(ptep, pte); in kvm_set_valid_leaf_pte() 193 u32 level, kvm_pte_t *ptep, in kvm_pgtable_visitor_cb() 192 kvm_pgtable_visitor_cb(struct kvm_pgtable_walk_data *data, u64 addr, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag) kvm_pgtable_visitor_cb() argument 203 __kvm_pgtable_visit(struct kvm_pgtable_walk_data *data, kvm_pte_t *ptep, u32 level) __kvm_pgtable_visit() argument 257 kvm_pte_t *ptep = &pgtable[idx]; __kvm_pgtable_walk() local 284 kvm_pte_t *ptep = &pgt->pgd[idx * PTRS_PER_PTE]; _kvm_pgtable_walk() local 342 hyp_map_walker_try_leaf(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, struct hyp_map_data *data) hyp_map_walker_try_leaf() argument 355 hyp_map_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag, void * const arg) hyp_map_walker() argument 411 hyp_free_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag, void * const arg) hyp_free_walker() argument 465 stage2_map_walker_try_leaf(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, struct stage2_map_data *data) stage2_map_walker_try_leaf() argument 495 stage2_map_walk_table_pre(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, struct stage2_map_data *data) stage2_map_walk_table_pre() argument 517 stage2_map_walk_leaf(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, struct stage2_map_data *data) stage2_map_walk_leaf() argument 561 stage2_map_walk_table_post(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, struct stage2_map_data *data) stage2_map_walk_table_post() argument 600 stage2_map_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag, void * const arg) stage2_map_walker() argument 658 stage2_unmap_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag, void * const arg) stage2_unmap_walker() argument 716 stage2_attr_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag, void * const arg) stage2_attr_walker() argument 830 stage2_flush_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag, void * const arg) stage2_flush_walker() argument 878 stage2_free_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep, enum kvm_pgtable_walk_flags flag, void * const arg) stage2_free_walker() argument [all...] |
/kernel/linux/linux-6.6/arch/sparc/include/asm/ |
H 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() 29 return *ptep; in huge_ptep_clear_flush() 34 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() 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() 45 int changed = !pte_same(*ptep, pt in huge_ptep_set_access_flags() 26 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_clear_flush() argument 33 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 41 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument [all...] |
/kernel/linux/linux-6.6/drivers/iommu/ |
H A D | io-pgtable-dart.c | 126 dart_iopte *ptep) in dart_init_pte() 133 if (ptep[i] & APPLE_DART_PTE_VALID) { in dart_init_pte() 135 WARN_ON(ptep[i] & APPLE_DART_PTE_VALID); in dart_init_pte() 147 ptep[i] = pte | paddr_to_iopte(paddr + i * sz, data); in dart_init_pte() 153 dart_iopte *ptep, in dart_install_table() 168 old = cmpxchg64_relaxed(ptep, curr, new); in dart_install_table() 195 dart_iopte pte, *ptep; in dart_get_l2() local 198 ptep = data->pgd[tbl]; in dart_get_l2() 199 if (!ptep) in dart_get_l2() 202 ptep in dart_get_l2() 123 dart_init_pte(struct dart_io_pgtable *data, unsigned long iova, phys_addr_t paddr, dart_iopte prot, int num_entries, dart_iopte *ptep) dart_init_pte() argument 152 dart_install_table(dart_iopte *table, dart_iopte *ptep, dart_iopte curr, struct dart_io_pgtable *data) dart_install_table() argument 244 dart_iopte pte, *cptep, *ptep; dart_map_pages() local 305 dart_iopte pte, *ptep; dart_unmap_pages() local 345 dart_iopte pte, *ptep; dart_iova_to_phys() local 442 dart_iopte *ptep, *end; apple_dart_free_pgtable() local [all...] |
/kernel/linux/linux-5.10/include/asm-generic/ |
H A D | hugetlb.h | 37 pte_t *ptep, unsigned long sz) in huge_pte_clear() 39 pte_clear(mm, addr, ptep); in huge_pte_clear() 54 pte_t *ptep, pte_t pte) in set_huge_pte_at() 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() 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() 72 ptep_clear_flush(vma, addr, ptep); in huge_ptep_clear_flush() 107 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() 109 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect() 36 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) huge_pte_clear() argument 53 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) set_huge_pte_at() argument 61 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_get_and_clear() argument 69 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_clear_flush() argument 106 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 114 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument 123 huge_ptep_get(pte_t *ptep) huge_ptep_get() argument [all...] |
/kernel/linux/linux-6.6/include/asm-generic/ |
H A D | hugetlb.h | 62 pte_t *ptep, unsigned long sz) in huge_pte_clear() 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() 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() 89 return ptep_get_and_clear(mm, addr, ptep); in huge_ptep_get_and_clear() 95 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() 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() 133 ptep_set_wrprotect(mm, addr, ptep); in huge_ptep_set_wrprotect() 61 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) huge_pte_clear() argument 78 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned long sz) set_huge_pte_at() argument 86 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_get_and_clear() argument 94 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_clear_flush() argument 130 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 138 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument 147 huge_ptep_get(pte_t *ptep) huge_ptep_get() argument [all...] |
/kernel/linux/linux-6.6/arch/riscv/kvm/ |
H A D | mmu.c | 100 pte_t *ptep; in gstage_get_leaf_entry() local 104 ptep = (pte_t *)kvm->arch.pgd; in gstage_get_leaf_entry() 105 ptep = &ptep[gstage_pte_index(addr, current_level)]; in gstage_get_leaf_entry() 106 while (ptep && pte_val(*ptep)) { in gstage_get_leaf_entry() 107 if (gstage_pte_leaf(ptep)) { in gstage_get_leaf_entry() 109 *ptepp = ptep; in gstage_get_leaf_entry() 116 ptep = (pte_t *)gstage_pte_page_vaddr(*ptep); in gstage_get_leaf_entry() 143 pte_t *ptep = &next_ptep[gstage_pte_index(addr, current_level)]; gstage_set_pte() local 228 gstage_op_pte(struct kvm *kvm, gpa_t addr, pte_t *ptep, u32 ptep_level, enum gstage_op op) gstage_op_pte() argument 273 pte_t *ptep; gstage_unmap_range() local 308 pte_t *ptep; gstage_wp_range() local 575 pte_t *ptep; kvm_age_gfn() local 593 pte_t *ptep; kvm_test_age_gfn() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/aarch64/ |
H A D | processor.c | 112 uint64_t *ptep; in _virt_pg_map() local 128 ptep = addr_gpa2hva(vm, vm->pgd) + pgd_index(vm, vaddr) * 8; in _virt_pg_map() 129 if (!*ptep) in _virt_pg_map() 130 *ptep = addr_pte(vm, vm_alloc_page_table(vm), 3); in _virt_pg_map() 134 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pud_index(vm, vaddr) * 8; in _virt_pg_map() 135 if (!*ptep) in _virt_pg_map() 136 *ptep = addr_pte(vm, vm_alloc_page_table(vm), 3); in _virt_pg_map() 139 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) in _virt_pg_map() 162 uint64_t *ptep; virt_get_pte_hva() local 200 uint64_t *ptep = virt_get_pte_hva(vm, gva); addr_arch_gva2gpa() local 209 uint64_t pte, *ptep; pte_dump() local 227 uint64_t pgd, *ptep; virt_arch_dump() local [all...] |
/kernel/linux/linux-6.6/arch/xtensa/include/asm/ |
H A D | pgalloc.h | 24 #define pmd_populate_kernel(mm, pmdp, ptep) \ 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 D | pgtable.h | 243 #define pte_clear(mm,addr,ptep) \ 244 do { update_pte(ptep, __pte(_PAGE_CA_INVALID | _PAGE_USER)); } while (0) 294 static inline void update_pte(pte_t *ptep, pte_t pteval) in update_pte() argument 296 *ptep = pteval; in update_pte() 298 __asm__ __volatile__ ("dhwb %0, 0" :: "a" (ptep)); in update_pte() 305 static inline void set_pte(pte_t *ptep, pte_t pte) in set_pte() argument 307 update_pte(ptep, pte); in set_pte() 320 pte_t *ptep) in ptep_test_and_clear_young() 322 pte_t pte = *ptep; in ptep_test_and_clear_young() 325 update_pte(ptep, pte_mkol in ptep_test_and_clear_young() 319 ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) ptep_test_and_clear_young() argument 330 ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_get_and_clear() argument 338 ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_set_wrprotect() argument [all...] |
/kernel/linux/linux-5.10/arch/xtensa/include/asm/ |
H A D | pgalloc.h | 24 #define pmd_populate_kernel(mm, pmdp, ptep) \ 25 (pmd_val(*(pmdp)) = ((unsigned long)ptep)) 36 static inline void ptes_clear(pte_t *ptep) in ptes_clear() argument 41 pte_clear(NULL, 0, ptep + i); in ptes_clear() 46 pte_t *ptep; in pte_alloc_one_kernel() local 48 ptep = (pte_t *)__pte_alloc_one_kernel(mm); in pte_alloc_one_kernel() 49 if (!ptep) in pte_alloc_one_kernel() 51 ptes_clear(ptep); in pte_alloc_one_kernel() 52 return ptep; in pte_alloc_one_kernel()
|
/kernel/linux/linux-5.10/arch/sparc/include/asm/ |
H A D | hugetlb.h | 17 pte_t *ptep, pte_t pte); 21 pte_t *ptep); 25 unsigned long addr, pte_t *ptep) in huge_ptep_clear_flush() 31 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() 33 pte_t old_pte = *ptep; in huge_ptep_set_wrprotect() 34 set_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); in huge_ptep_set_wrprotect() 39 unsigned long addr, pte_t *ptep, in huge_ptep_set_access_flags() 42 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags() 44 set_huge_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags() 24 huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_clear_flush() argument 30 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 38 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument
|
/kernel/linux/linux-5.10/arch/parisc/mm/ |
H A D | hugetlbpage.c | 123 pte_t *ptep, pte_t entry) in __set_huge_pte_at() 132 set_pte(ptep, entry); in __set_huge_pte_at() 133 ptep++; in __set_huge_pte_at() 143 pte_t *ptep, pte_t entry) 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() 154 entry = *ptep; in huge_ptep_get_and_clear() 155 __set_huge_pte_at(mm, addr, ptep, __pte(0)); in huge_ptep_get_and_clear() 162 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() 166 old_pte = *ptep; in huge_ptep_set_wrprotect() 122 __set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t entry) __set_huge_pte_at() argument 142 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t entry) set_huge_pte_at() argument 149 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_get_and_clear() argument 161 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 170 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument [all...] |
/kernel/linux/linux-6.6/arch/parisc/mm/ |
H A D | hugetlbpage.c | 123 pte_t *ptep, pte_t entry) in __set_huge_pte_at() 132 set_pte(ptep, entry); in __set_huge_pte_at() 133 ptep++; in __set_huge_pte_at() 143 pte_t *ptep, pte_t entry, unsigned long sz) 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() 154 entry = *ptep; in huge_ptep_get_and_clear() 155 __set_huge_pte_at(mm, addr, ptep, __pte(0)); in huge_ptep_get_and_clear() 162 unsigned long addr, pte_t *ptep) in huge_ptep_set_wrprotect() 166 old_pte = *ptep; in huge_ptep_set_wrprotect() 122 __set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t entry) __set_huge_pte_at() argument 142 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t entry, unsigned long sz) set_huge_pte_at() argument 149 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_get_and_clear() argument 161 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) huge_ptep_set_wrprotect() argument 170 huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) huge_ptep_set_access_flags() argument [all...] |
/kernel/linux/linux-5.10/arch/powerpc/mm/book3s64/ |
H A D | hash_hugetlbpage.c | 24 pte_t *ptep, unsigned long trap, unsigned long flags, in __hash_page_huge() 52 old_pte = pte_val(*ptep); in __hash_page_huge() 67 } while(!pte_xchg(ptep, __pte(old_pte), __pte(new_pte))); in __hash_page_huge() 78 rpte = __real_pte(__pte(old_pte), ptep, offset); in __hash_page_huge() 114 *ptep = __pte(old_pte); in __hash_page_huge() 120 new_pte |= pte_set_hidx(ptep, rpte, 0, slot, offset); in __hash_page_huge() 126 *ptep = __pte(new_pte & ~H_PAGE_BUSY); in __hash_page_huge() 131 unsigned long addr, pte_t *ptep) in huge_ptep_modify_prot_start() 139 pte_val = pte_update(vma->vm_mm, addr, ptep, in huge_ptep_modify_prot_start() 146 pte_t *ptep, pte_ in huge_ptep_modify_prot_commit() 23 __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, pte_t *ptep, unsigned long trap, unsigned long flags, int ssize, unsigned int shift, unsigned int mmu_psize) __hash_page_huge() argument 130 huge_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_modify_prot_start() argument 145 huge_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t old_pte, pte_t pte) huge_ptep_modify_prot_commit() argument [all...] |
/kernel/linux/linux-6.6/arch/powerpc/mm/book3s64/ |
H A D | hugetlbpage.c | 21 pte_t *ptep, unsigned long trap, unsigned long flags, in __hash_page_huge() 49 old_pte = pte_val(*ptep); in __hash_page_huge() 64 } while(!pte_xchg(ptep, __pte(old_pte), __pte(new_pte))); in __hash_page_huge() 75 rpte = __real_pte(__pte(old_pte), ptep, offset); in __hash_page_huge() 111 *ptep = __pte(old_pte); in __hash_page_huge() 117 new_pte |= pte_set_hidx(ptep, rpte, 0, slot, offset); in __hash_page_huge() 123 *ptep = __pte(new_pte & ~H_PAGE_BUSY); in __hash_page_huge() 129 unsigned long addr, pte_t *ptep) in huge_ptep_modify_prot_start() 137 pte_val = pte_update(vma->vm_mm, addr, ptep, in huge_ptep_modify_prot_start() 144 pte_t *ptep, pte_ in huge_ptep_modify_prot_commit() 20 __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, pte_t *ptep, unsigned long trap, unsigned long flags, int ssize, unsigned int shift, unsigned int mmu_psize) __hash_page_huge() argument 128 huge_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) huge_ptep_modify_prot_start() argument 143 huge_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t old_pte, pte_t pte) huge_ptep_modify_prot_commit() argument [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | pgtable.h | 221 * @ptep: Page table pointer for the first entry. 232 pte_t *ptep, pte_t pte, unsigned int nr) in set_ptes() 234 page_table_check_ptes_set(mm, ptep, pte, nr); in set_ptes() 238 set_pte(ptep, pte); in set_ptes() 241 ptep++; in set_ptes() 247 #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1) 251 unsigned long address, pte_t *ptep, 282 static inline pte_t ptep_get(pte_t *ptep) in ptep_get() argument 284 return READ_ONCE(*ptep); in ptep_get() 231 set_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned int nr) set_ptes() argument 296 ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) ptep_test_and_clear_young() argument 397 ptep_get_and_clear(struct mm_struct *mm, unsigned long address, pte_t *ptep) ptep_get_and_clear() argument 408 ptep_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) ptep_clear() argument 443 ptep_get_lockless(pte_t *ptep) ptep_get_lockless() argument 481 ptep_get_lockless(pte_t *ptep) ptep_get_lockless() argument 547 ptep_get_and_clear_full(struct mm_struct *mm, unsigned long address, pte_t *ptep, int full) ptep_get_and_clear_full() argument 565 update_mmu_tlb(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) update_mmu_tlb() argument 578 pte_clear_not_present_full(struct mm_struct *mm, unsigned long address, pte_t *ptep, int full) pte_clear_not_present_full() argument 618 ptep_set_wrprotect(struct mm_struct *mm, unsigned long address, pte_t *ptep) ptep_set_wrprotect() argument 1035 __ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) __ptep_modify_prot_start() argument 1047 __ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte) __ptep_modify_prot_commit() argument 1073 ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) ptep_modify_prot_start() argument 1084 ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t old_pte, pte_t pte) ptep_modify_prot_commit() argument [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/riscv/ |
H A D | processor.c | 71 uint64_t *ptep, next_ppn; in virt_arch_pg_map() local 88 ptep = addr_gpa2hva(vm, vm->pgd) + pte_index(vm, vaddr, level) * 8; in virt_arch_pg_map() 89 if (!*ptep) { in virt_arch_pg_map() 91 *ptep = (next_ppn << PGTBL_PTE_ADDR_SHIFT) | in virt_arch_pg_map() 97 ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + in virt_arch_pg_map() 99 if (!*ptep && level > 0) { in virt_arch_pg_map() 102 *ptep = (next_ppn << PGTBL_PTE_ADDR_SHIFT) | in virt_arch_pg_map() 109 *ptep = (paddr << PGTBL_PTE_ADDR_SHIFT) | in virt_arch_pg_map() 115 uint64_t *ptep; in addr_arch_gva2gpa() local 147 uint64_t pte, *ptep; pte_dump() local 167 uint64_t pgd, *ptep; virt_arch_dump() local [all...] |