Home
last modified time | relevance | path

Searched refs:eaddr (Results 1 – 25 of 39) sorted by relevance

12

/linux-6.6.21/arch/powerpc/kvm/
Dbook3s_32_mmu.c69 static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr,
75 static u32 find_sr(struct kvm_vcpu *vcpu, gva_t eaddr) in find_sr() argument
77 return kvmppc_get_sr(vcpu, (eaddr >> 28) & 0xf); in find_sr()
80 static u64 kvmppc_mmu_book3s_32_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr, in kvmppc_mmu_book3s_32_ea_to_vp() argument
86 if (!kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, &pte, data, false)) in kvmppc_mmu_book3s_32_ea_to_vp()
89 kvmppc_mmu_book3s_32_esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_book3s_32_ea_to_vp()
90 return (((u64)eaddr >> 12) & 0xffff) | (vsid << 16); in kvmppc_mmu_book3s_32_ea_to_vp()
94 u32 sre, gva_t eaddr, in kvmppc_mmu_book3s_32_get_pteg() argument
101 page = (eaddr & 0x0FFFFFFF) >> 12; in kvmppc_mmu_book3s_32_get_pteg()
112 kvmppc_get_pc(vcpu), eaddr, vcpu_book3s->sdr1, pteg, in kvmppc_mmu_book3s_32_get_pteg()
[all …]
Dbook3s_64_mmu.c29 gva_t eaddr) in kvmppc_mmu_book3s_64_find_slbe() argument
32 u64 esid = GET_ESID(eaddr); in kvmppc_mmu_book3s_64_find_slbe()
33 u64 esid_1t = GET_ESID_1T(eaddr); in kvmppc_mmu_book3s_64_find_slbe()
49 eaddr, esid, esid_1t); in kvmppc_mmu_book3s_64_find_slbe()
73 static u64 kvmppc_slb_calc_vpn(struct kvmppc_slb *slb, gva_t eaddr) in kvmppc_slb_calc_vpn() argument
75 eaddr &= kvmppc_slb_offset_mask(slb); in kvmppc_slb_calc_vpn()
77 return (eaddr >> VPN_SHIFT) | in kvmppc_slb_calc_vpn()
81 static u64 kvmppc_mmu_book3s_64_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr, in kvmppc_mmu_book3s_64_ea_to_vp() argument
86 slb = kvmppc_mmu_book3s_64_find_slbe(vcpu, eaddr); in kvmppc_mmu_book3s_64_ea_to_vp()
90 return kvmppc_slb_calc_vpn(slb, eaddr); in kvmppc_mmu_book3s_64_ea_to_vp()
[all …]
Dtrace_pr.h39 __field( unsigned long, eaddr )
49 __entry->eaddr = orig_pte->eaddr;
57 __entry->flag_w, __entry->flag_x, __entry->eaddr,
70 __field( ulong, eaddr )
79 __entry->eaddr = pte->pte.eaddr;
88 __entry->host_vpn, __entry->pfn, __entry->eaddr,
99 __field( ulong, eaddr )
108 __entry->eaddr = pte->pte.eaddr;
117 __entry->host_vpn, __entry->pfn, __entry->eaddr,
Dbook3s_32_mmu_host.c59 asm volatile ("tlbie %0" : : "r" (pte->pte.eaddr) : "memory"); in kvmppc_mmu_invalidate_pte()
106 static u32 *kvmppc_mmu_get_pteg(struct kvm_vcpu *vcpu, u32 vsid, u32 eaddr, in kvmppc_mmu_get_pteg() argument
112 page = (eaddr & ~ESID_MASK) >> 12; in kvmppc_mmu_get_pteg()
138 u32 eaddr = orig_pte->eaddr; in kvmppc_mmu_map_page() local
158 vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_map_page()
161 kvmppc_mmu_map_segment(vcpu, eaddr); in kvmppc_mmu_map_page()
168 ((eaddr & ~ESID_MASK) >> VPN_SHIFT); in kvmppc_mmu_map_page()
176 pteg = kvmppc_mmu_get_pteg(vcpu, vsid, eaddr, primary); in kvmppc_mmu_map_page()
194 pteg0 = ((eaddr & 0x0fffffff) >> 22) | (vsid << 7) | PTE_V | in kvmppc_mmu_map_page()
243 orig_pte->eaddr, (ulong)pteg, vpn, in kvmppc_mmu_map_page()
[all …]
De500_mmu.c81 gva_t eaddr, int tlbsel, unsigned int pid, int as) in kvmppc_e500_tlb_index() argument
88 set_base = gtlb0_set_base(vcpu_e500, eaddr); in kvmppc_e500_tlb_index()
91 if (eaddr < vcpu_e500->tlb1_min_eaddr || in kvmppc_e500_tlb_index()
92 eaddr > vcpu_e500->tlb1_max_eaddr) in kvmppc_e500_tlb_index()
104 if (eaddr < get_tlb_eaddr(tlbe)) in kvmppc_e500_tlb_index()
107 if (eaddr > get_tlb_end(tlbe)) in kvmppc_e500_tlb_index()
127 gva_t eaddr, int as) in kvmppc_e500_deliver_tlb_miss() argument
143 vcpu->arch.shared->mas2 = (eaddr & MAS2_EPN) in kvmppc_e500_deliver_tlb_miss()
155 gva_t eaddr; in kvmppc_recalc_tlb1map_range() local
169 eaddr = get_tlb_eaddr(tlbe); in kvmppc_recalc_tlb1map_range()
[all …]
Dbook3s_mmu_hpte.c26 static inline u64 kvmppc_mmu_hash_pte(u64 eaddr) in kvmppc_mmu_hash_pte() argument
28 return hash_64(eaddr >> PTE_SIZE, HPTEG_HASH_BITS_PTE); in kvmppc_mmu_hash_pte()
31 static inline u64 kvmppc_mmu_hash_pte_long(u64 eaddr) in kvmppc_mmu_hash_pte_long() argument
33 return hash_64((eaddr & 0x0ffff000) >> PTE_SIZE, in kvmppc_mmu_hash_pte_long()
66 index = kvmppc_mmu_hash_pte(pte->pte.eaddr); in kvmppc_mmu_hpte_cache_map()
70 index = kvmppc_mmu_hash_pte_long(pte->pte.eaddr); in kvmppc_mmu_hpte_cache_map()
163 if ((pte->pte.eaddr & ~0xfffUL) == guest_ea) in kvmppc_mmu_pte_flush_page()
183 if ((pte->pte.eaddr & 0x0ffff000UL) == guest_ea) in kvmppc_mmu_pte_flush_long()
Dbook3s_64_mmu_host.c107 vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_map_page()
110 ret = kvmppc_mmu_map_segment(vcpu, orig_pte->eaddr); in kvmppc_mmu_map_page()
116 vsid, orig_pte->eaddr); in kvmppc_mmu_map_page()
122 vpn = hpt_vpn(orig_pte->eaddr, map->host_vsid, MMU_SEGSIZE_256M); in kvmppc_mmu_map_page()
219 vcpu->arch.mmu.esid_to_vsid(vcpu, pte->eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_unmap_page()
312 int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr) in kvmppc_mmu_map_segment() argument
315 u64 esid = eaddr >> SID_SHIFT; in kvmppc_mmu_map_segment()
316 u64 slb_esid = (eaddr & ESID_MASK) | SLB_ESID_V; in kvmppc_mmu_map_segment()
323 slb_index = kvmppc_mmu_next_segment(vcpu, eaddr & ESID_MASK); in kvmppc_mmu_map_segment()
Dbook3s_64_mmu_radix.c36 gva_t eaddr, void *to, void *from, in __kvmhv_copy_tofrom_guest_radix() argument
45 return plpar_hcall_norets(H_COPY_TOFROM_GUEST, lpid, pid, eaddr, in __kvmhv_copy_tofrom_guest_radix()
49 if (eaddr & (0xFFFUL << 52)) in __kvmhv_copy_tofrom_guest_radix()
56 from = (void *) (eaddr | (quadrant << 62)); in __kvmhv_copy_tofrom_guest_radix()
58 to = (void *) (eaddr | (quadrant << 62)); in __kvmhv_copy_tofrom_guest_radix()
96 static long kvmhv_copy_tofrom_guest_radix(struct kvm_vcpu *vcpu, gva_t eaddr, in kvmhv_copy_tofrom_guest_radix() argument
103 if (eaddr & (0x3FFUL << 52)) in kvmhv_copy_tofrom_guest_radix()
111 if (((eaddr >> 62) & 0x3) == 0x3) in kvmhv_copy_tofrom_guest_radix()
114 eaddr &= ~(0xFFFUL << 52); in kvmhv_copy_tofrom_guest_radix()
116 return __kvmhv_copy_tofrom_guest_radix(lpid, pid, eaddr, to, from, n); in kvmhv_copy_tofrom_guest_radix()
[all …]
De500_mmu_host.c105 static u32 get_host_mas0(unsigned long eaddr) in get_host_mas0() argument
115 asm volatile("tlbsx 0, %0" : : "b" (eaddr & ~CONFIG_PAGE_OFFSET)); in get_host_mas0()
586 void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, in kvmppc_mmu_map() argument
606 &priv->ref, eaddr, &stlbe); in kvmppc_mmu_map()
613 kvmppc_e500_tlb1_map(vcpu_e500, eaddr, gfn, gtlbe, &stlbe, in kvmppc_mmu_map()
631 hva_t eaddr; in kvmppc_load_last_inst() local
708 eaddr = (unsigned long)kmap_atomic(page); in kvmppc_load_last_inst()
709 *instr = *(u32 *)(eaddr | (unsigned long)(addr & ~PAGE_MASK)); in kvmppc_load_last_inst()
710 kunmap_atomic((u32 *)eaddr); in kvmppc_load_last_inst()
Dbooke.c1284 unsigned long eaddr = vcpu->arch.fault_dear; in kvmppc_handle_exit() local
1291 (eaddr & PAGE_MASK) == vcpu->arch.magic_page_ea) { in kvmppc_handle_exit()
1301 gtlb_index = kvmppc_mmu_dtlb_index(vcpu, eaddr); in kvmppc_handle_exit()
1315 gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr); in kvmppc_handle_exit()
1325 kvmppc_mmu_map(vcpu, eaddr, gpaddr, gtlb_index); in kvmppc_handle_exit()
1332 vcpu->arch.vaddr_accessed = eaddr; in kvmppc_handle_exit()
1342 unsigned long eaddr = vcpu->arch.regs.nip; in kvmppc_handle_exit() local
1350 gtlb_index = kvmppc_mmu_itlb_index(vcpu, eaddr); in kvmppc_handle_exit()
1363 gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr); in kvmppc_handle_exit()
1373 kvmppc_mmu_map(vcpu, eaddr, gpaddr, gtlb_index); in kvmppc_handle_exit()
[all …]
De500mc.c60 gva_t eaddr; in kvmppc_e500_tlbil_one() local
69 eaddr = get_tlb_eaddr(gtlbe); in kvmppc_e500_tlbil_one()
76 asm volatile("tlbsx 0, %[eaddr]\n" : : [eaddr] "r" (eaddr)); in kvmppc_e500_tlbil_one()
De500.c238 u32 val, eaddr; in kvmppc_e500_tlbil_one() local
270 eaddr = get_tlb_eaddr(gtlbe); in kvmppc_e500_tlbil_one()
275 asm volatile("tlbsx 0, %[eaddr]" : : [eaddr] "r" (eaddr)); in kvmppc_e500_tlbil_one()
Dbook3s.c454 int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, enum xlate_instdata xlid, in kvmppc_xlate() argument
463 r = vcpu->arch.mmu.xlate(vcpu, eaddr, pte, data, iswrite); in kvmppc_xlate()
465 pte->eaddr = eaddr; in kvmppc_xlate()
466 pte->raddr = eaddr & KVM_PAM; in kvmppc_xlate()
467 pte->vpage = VSID_REAL | eaddr >> 12; in kvmppc_xlate()
476 ((eaddr & SPLIT_HACK_MASK) == SPLIT_HACK_OFFS)) in kvmppc_xlate()
Dbook3s_64_mmu_hv.c312 gva_t eaddr) in kvmppc_mmu_book3s_hv_find_slbe() argument
326 if (((vcpu->arch.slb[i].orige ^ eaddr) & mask) == 0) in kvmppc_mmu_book3s_hv_find_slbe()
341 static int kvmppc_mmu_book3s_64_hv_xlate(struct kvm_vcpu *vcpu, gva_t eaddr, in kvmppc_mmu_book3s_64_hv_xlate() argument
354 return kvmppc_mmu_radix_xlate(vcpu, eaddr, gpte, data, iswrite); in kvmppc_mmu_book3s_64_hv_xlate()
358 slbe = kvmppc_mmu_book3s_hv_find_slbe(vcpu, eaddr); in kvmppc_mmu_book3s_64_hv_xlate()
369 index = kvmppc_hv_find_lock_hpte(kvm, eaddr, slb_v, in kvmppc_mmu_book3s_64_hv_xlate()
384 gpte->eaddr = eaddr; in kvmppc_mmu_book3s_64_hv_xlate()
385 gpte->vpage = ((v & HPTE_V_AVPN) << 4) | ((eaddr >> 12) & 0xfff); in kvmppc_mmu_book3s_64_hv_xlate()
407 gpte->raddr = kvmppc_mmu_get_real_addr(v, gr, eaddr); in kvmppc_mmu_book3s_64_hv_xlate()
Dbook3s_hv_rm_mmu.c1063 unsigned long eaddr, unsigned long slb_v, long mmio_update) in mmio_cache_search() argument
1073 if ((entry->eaddr >> pshift) == (eaddr >> pshift) && in mmio_cache_search()
1097 long kvmppc_hv_find_lock_hpte(struct kvm *kvm, gva_t eaddr, unsigned long slb_v, in kvmppc_hv_find_lock_hpte() argument
1126 hash = (vsid ^ ((eaddr & somask) >> pshift)) & kvmppc_hpt_mask(&kvm->arch.hpt); in kvmppc_hv_find_lock_hpte()
1128 avpn |= (eaddr & somask) >> 16; in kvmppc_hv_find_lock_hpte()
1285 cache_entry->eaddr = addr; in kvmppc_hpte_hv_fault()
/linux-6.6.21/drivers/edac/
Digen6_edac.c137 u64 (*err_addr_to_sys_addr)(u64 eaddr, int mc);
139 u64 (*err_addr_to_imc_addr)(u64 eaddr, int mc);
235 static u64 ehl_err_addr_to_sys_addr(u64 eaddr, int mc) in ehl_err_addr_to_sys_addr() argument
237 return eaddr; in ehl_err_addr_to_sys_addr()
240 static u64 ehl_err_addr_to_imc_addr(u64 eaddr, int mc) in ehl_err_addr_to_imc_addr() argument
242 if (eaddr < igen6_tolud) in ehl_err_addr_to_imc_addr()
243 return eaddr; in ehl_err_addr_to_imc_addr()
246 return eaddr + igen6_tolud - _4GB; in ehl_err_addr_to_imc_addr()
248 if (eaddr < _4GB) in ehl_err_addr_to_imc_addr()
249 return eaddr + igen6_tolud - igen6_tom; in ehl_err_addr_to_imc_addr()
[all …]
/linux-6.6.21/arch/arm64/kernel/
Dcompat_alignment.c118 unsigned long eaddr, newaddr; in do_alignment_ldmstm() local
125 newaddr = eaddr = regs->regs[rn]; in do_alignment_ldmstm()
131 eaddr = newaddr; in do_alignment_ldmstm()
134 eaddr += 4; in do_alignment_ldmstm()
140 if (get_user(val, (u32 __user *)eaddr)) in do_alignment_ldmstm()
155 if (put_user(val, (u32 __user *)eaddr)) in do_alignment_ldmstm()
158 eaddr += 4; in do_alignment_ldmstm()
/linux-6.6.21/arch/powerpc/include/asm/
Dkvm_book3s.h155 extern int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr);
156 extern void kvmppc_mmu_flush_segment(struct kvm_vcpu *vcpu, ulong eaddr, ulong seg_size);
160 extern long kvmppc_hv_find_lock_hpte(struct kvm *kvm, gva_t eaddr,
179 gva_t eaddr, void *to, void *from,
181 extern long kvmhv_copy_from_guest_radix(struct kvm_vcpu *vcpu, gva_t eaddr,
183 extern long kvmhv_copy_to_guest_radix(struct kvm_vcpu *vcpu, gva_t eaddr,
185 extern int kvmppc_mmu_walk_radix_tree(struct kvm_vcpu *vcpu, gva_t eaddr,
188 extern int kvmppc_mmu_radix_translate_table(struct kvm_vcpu *vcpu, gva_t eaddr,
191 extern int kvmppc_mmu_radix_xlate(struct kvm_vcpu *vcpu, gva_t eaddr,
226 extern int kvmppc_ld(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, bool data);
Dkvm_host.h378 ulong eaddr; member
395 int (*slbfee)(struct kvm_vcpu *vcpu, gva_t eaddr, ulong *ret_slb);
401 int (*xlate)(struct kvm_vcpu *vcpu, gva_t eaddr,
405 u64 (*ea_to_vp)(struct kvm_vcpu *vcpu, gva_t eaddr, bool data);
473 unsigned long eaddr; member
Dkvm_ppc.h91 extern int kvmppc_ld(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr,
93 extern int kvmppc_st(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr,
110 extern int kvmppc_mmu_dtlb_index(struct kvm_vcpu *vcpu, gva_t eaddr);
111 extern int kvmppc_mmu_itlb_index(struct kvm_vcpu *vcpu, gva_t eaddr);
113 gva_t eaddr);
116 extern int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr,
313 int (*load_from_eaddr)(struct kvm_vcpu *vcpu, ulong *eaddr, void *ptr,
315 int (*store_to_eaddr)(struct kvm_vcpu *vcpu, ulong *eaddr, void *ptr,
/linux-6.6.21/arch/arm/mm/
Dalignment.c503 unsigned long eaddr, newaddr; in do_alignment_ldmstm() local
517 newaddr = eaddr = regs->uregs[rn]; in do_alignment_ldmstm()
523 eaddr = newaddr; in do_alignment_ldmstm()
526 eaddr += 4; in do_alignment_ldmstm()
540 if (addr != eaddr) { in do_alignment_ldmstm()
543 instruction_pointer(regs), instr, addr, eaddr); in do_alignment_ldmstm()
555 get32t_unaligned_check(val, eaddr); in do_alignment_ldmstm()
558 put32t_unaligned_check(regs->uregs[rd], eaddr); in do_alignment_ldmstm()
559 eaddr += 4; in do_alignment_ldmstm()
568 get32_unaligned_check(val, eaddr); in do_alignment_ldmstm()
[all …]
/linux-6.6.21/fs/freevxfs/
Dvxfs_olt.c58 char *oaddr, *eaddr; in vxfs_read_olt() local
81 eaddr = bp->b_data + (infp->vsi_oltsize * sbp->s_blocksize); in vxfs_read_olt()
83 while (oaddr < eaddr) { in vxfs_read_olt()
/linux-6.6.21/arch/powerpc/platforms/pseries/
Dras.c572 unsigned long eaddr = 0, paddr = 0; in mce_handle_err_virtmode() local
642 eaddr = be64_to_cpu(mce_log->effective_address); in mce_handle_err_virtmode()
649 pfn = addr_to_pfn(regs, eaddr); in mce_handle_err_virtmode()
670 eaddr = be64_to_cpu(mce_log->effective_address); in mce_handle_err_virtmode()
687 eaddr = be64_to_cpu(mce_log->effective_address); in mce_handle_err_virtmode()
704 eaddr = be64_to_cpu(mce_log->effective_address); in mce_handle_err_virtmode()
725 eaddr = be64_to_cpu(mce_log->effective_address); in mce_handle_err_virtmode()
734 &mce_err, regs->nip, eaddr, paddr); in mce_handle_err_virtmode()
/linux-6.6.21/drivers/gpu/drm/amd/amdgpu/
Damdgpu_vm.c1528 uint64_t eaddr; in amdgpu_vm_bo_map() local
1537 eaddr = saddr + size - 1; in amdgpu_vm_bo_map()
1539 (eaddr >= adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT)) in amdgpu_vm_bo_map()
1543 eaddr /= AMDGPU_GPU_PAGE_SIZE; in amdgpu_vm_bo_map()
1545 tmp = amdgpu_vm_it_iter_first(&vm->va, saddr, eaddr); in amdgpu_vm_bo_map()
1549 "0x%010Lx-0x%010Lx\n", bo, saddr, eaddr, in amdgpu_vm_bo_map()
1559 mapping->last = eaddr; in amdgpu_vm_bo_map()
1593 uint64_t eaddr; in amdgpu_vm_bo_replace_map() local
1603 eaddr = saddr + size - 1; in amdgpu_vm_bo_replace_map()
1605 (eaddr >= adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT)) in amdgpu_vm_bo_replace_map()
[all …]
/linux-6.6.21/drivers/slimbus/
Dcore.c176 struct slim_eaddr *eaddr, in slim_alloc_device() argument
186 sbdev->e_addr = *eaddr; in slim_alloc_device()
348 struct slim_eaddr *eaddr) in find_slim_device() argument
353 dev = device_find_child(ctrl->dev, eaddr, slim_match_dev); in find_slim_device()

12