| /linux/arch/powerpc/kvm/ |
| H A D | book3s_32_mmu.c | 69 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 …]
|
| H A D | book3s_64_mmu.c | 29 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 …]
|
| H A D | trace_pr.h | 39 __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,
|
| H A D | e500_mmu.c | 81 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 …]
|
| H A D | book3s_64_mmu_radix.c | 36 gva_t eaddr, void *to, void *from, in __kvmhv_copy_tofrom_guest_radix() argument 48 return plpar_hcall_norets(H_COPY_TOFROM_GUEST, lpid, pid, eaddr, in __kvmhv_copy_tofrom_guest_radix() 52 if (eaddr & (0xFFFUL << 52)) in __kvmhv_copy_tofrom_guest_radix() 59 from = (void *) (eaddr | (quadrant << 62)); in __kvmhv_copy_tofrom_guest_radix() 61 to = (void *) (eaddr | (quadrant << 62)); in __kvmhv_copy_tofrom_guest_radix() 99 static long kvmhv_copy_tofrom_guest_radix(struct kvm_vcpu *vcpu, gva_t eaddr, in kvmhv_copy_tofrom_guest_radix() argument 106 if (eaddr & (0x3FFUL << 52)) in kvmhv_copy_tofrom_guest_radix() 114 if (((eaddr >> 62) & 0x3) == 0x3) in kvmhv_copy_tofrom_guest_radix() 119 eaddr &= ~(0xFFFUL << 52); in kvmhv_copy_tofrom_guest_radix() 121 return __kvmhv_copy_tofrom_guest_radix(lpid, pid, eaddr, to, from, n); in kvmhv_copy_tofrom_guest_radix() [all …]
|
| H A D | e500_mmu_host.c | 108 static u32 get_host_mas0(unsigned long eaddr) in get_host_mas0() argument 118 asm volatile("tlbsx 0, %0" : : "b" (eaddr & ~CONFIG_PAGE_OFFSET)); in get_host_mas0() 548 void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, in kvmppc_mmu_map() argument 568 &priv->ref, eaddr, &stlbe); in kvmppc_mmu_map() 575 kvmppc_e500_tlb1_map(vcpu_e500, eaddr, gfn, gtlbe, &stlbe, in kvmppc_mmu_map() 593 hva_t eaddr; in kvmppc_load_last_inst() local 670 eaddr = (unsigned long)kmap_atomic(page); in kvmppc_load_last_inst() 671 *instr = *(u32 *)(eaddr | (unsigned long)(addr & ~PAGE_MASK)); in kvmppc_load_last_inst() 672 kunmap_atomic((u32 *)eaddr); in kvmppc_load_last_inst()
|
| H A D | booke.c | 1284 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 …]
|
| H A D | e500mc.c | 60 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()
|
| H A D | e500.c | 238 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()
|
| H A D | book3s_64_mmu_hv.c | 312 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()
|
| H A D | book3s_hv_rm_mmu.c | 1063 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()
|
| H A D | powerpc.c | 348 int kvmppc_st(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, in kvmppc_st() argument 358 r = vcpu->kvm->arch.kvm_ops->store_to_eaddr(vcpu, eaddr, ptr, in kvmppc_st() 364 r = kvmppc_xlate(vcpu, *eaddr, data ? XLATE_DATA : XLATE_INST, in kvmppc_st() 369 *eaddr = pte.raddr; in kvmppc_st() 379 magic += pte.eaddr & 0xfff; in kvmppc_st() 391 int kvmppc_ld(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, in kvmppc_ld() argument 401 rc = vcpu->kvm->arch.kvm_ops->load_from_eaddr(vcpu, eaddr, ptr, in kvmppc_ld() 407 rc = kvmppc_xlate(vcpu, *eaddr, data ? XLATE_DATA : XLATE_INST, in kvmppc_ld() 412 *eaddr = pte.raddr; in kvmppc_ld() 425 magic += pte.eaddr & 0xfff; in kvmppc_ld()
|
| H A D | book3s_pr.c | 681 ulong eaddr, int vec) in kvmppc_handle_pagefault() argument 699 page_found = vcpu->arch.mmu.xlate(vcpu, eaddr, &pte, data, iswrite); in kvmppc_handle_pagefault() 704 pte.raddr = eaddr & KVM_PAM; in kvmppc_handle_pagefault() 705 pte.eaddr = eaddr; in kvmppc_handle_pagefault() 706 pte.vpage = eaddr >> 12; in kvmppc_handle_pagefault() 722 vcpu->arch.mmu.esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid); in kvmppc_handle_pagefault() 755 kvmppc_core_queue_data_storage(vcpu, 0, eaddr, flags); in kvmppc_handle_pagefault() 787 vcpu->arch.vaddr_accessed = pte.eaddr; in kvmppc_handle_pagefault()
|
| /linux/drivers/edac/ |
| H A D | igen6_edac.c | 147 u64 (*err_addr_to_sys_addr)(u64 eaddr, int mc); 149 u64 (*err_addr_to_imc_addr)(u64 eaddr, int mc); 339 static u64 ehl_err_addr_to_sys_addr(u64 eaddr, int mc) in ehl_err_addr_to_sys_addr() argument 341 return eaddr; in ehl_err_addr_to_sys_addr() 344 static u64 ehl_err_addr_to_imc_addr(u64 eaddr, int mc) in ehl_err_addr_to_imc_addr() argument 346 if (eaddr < igen6_tolud) in ehl_err_addr_to_imc_addr() 347 return eaddr; in ehl_err_addr_to_imc_addr() 350 return eaddr + igen6_tolud - _4GB; in ehl_err_addr_to_imc_addr() 352 if (eaddr >= igen6_tom) in ehl_err_addr_to_imc_addr() 353 return eaddr + igen6_tolud - igen6_tom; in ehl_err_addr_to_imc_addr() [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | compat_alignment.c | 118 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/arch/arm/mm/ |
| H A D | alignment.c | 504 unsigned long eaddr, newaddr; in do_alignment_ldmstm() local 518 newaddr = eaddr = regs->uregs[rn]; in do_alignment_ldmstm() 524 eaddr = newaddr; in do_alignment_ldmstm() 527 eaddr += 4; in do_alignment_ldmstm() 541 if (addr != eaddr) { in do_alignment_ldmstm() 544 instruction_pointer(regs), instr, addr, eaddr); in do_alignment_ldmstm() 556 get32t_unaligned_check(val, eaddr); in do_alignment_ldmstm() 559 put32t_unaligned_check(regs->uregs[rd], eaddr); in do_alignment_ldmstm() 560 eaddr += 4; in do_alignment_ldmstm() 569 get32_unaligned_check(val, eaddr); in do_alignment_ldmstm() [all …]
|
| /linux/fs/freevxfs/ |
| H A D | vxfs_olt.c | 58 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/arch/powerpc/platforms/pseries/ |
| H A D | ras.c | 572 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/drivers/slimbus/ |
| H A D | core.c | 177 struct slim_eaddr *eaddr, in slim_alloc_device() argument 187 sbdev->e_addr = *eaddr; in slim_alloc_device() 349 struct slim_eaddr *eaddr) in find_slim_device() argument 354 dev = device_find_child(ctrl->dev, eaddr, slim_match_dev); in find_slim_device()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | kvm_ppc.h | 91 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, 312 int (*load_from_eaddr)(struct kvm_vcpu *vcpu, ulong *eaddr, void *ptr, 314 int (*store_to_eaddr)(struct kvm_vcpu *vcpu, ulong *eaddr, void *ptr,
|
| /linux/kernel/ |
| H A D | kexec_core.c | 357 unsigned long pfn, epfn, addr, eaddr; in kimage_alloc_normal_control_pages() local 365 eaddr = (epfn << PAGE_SHIFT) - 1; in kimage_alloc_normal_control_pages() 367 kimage_is_destination_range(image, addr, eaddr)) { in kimage_alloc_normal_control_pages() 958 unsigned long addr, size, eaddr; in kimage_map_segment() local 973 eaddr = addr + size; in kimage_map_segment() 977 npages = PFN_UP(eaddr) - PFN_DOWN(addr); in kimage_map_segment() 989 if (dest_page_addr >= addr && dest_page_addr < eaddr) { in kimage_map_segment()
|
| /linux/net/mac802154/ |
| H A D | cfg.c | 393 u64 eaddr; in mac802154_disassociate_from_parent() local 406 eaddr = swab64((__force u64)child->extended_addr); in mac802154_disassociate_from_parent() 409 &eaddr, ret); in mac802154_disassociate_from_parent() 418 eaddr = swab64((__force u64)wpan_dev->parent->extended_addr); in mac802154_disassociate_from_parent() 421 &eaddr, ret); in mac802154_disassociate_from_parent()
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_vm.c | 1850 uint64_t eaddr; in amdgpu_vm_bo_map() local 1858 eaddr = saddr + (size - 1) / AMDGPU_GPU_PAGE_SIZE; in amdgpu_vm_bo_map() 1860 tmp = amdgpu_vm_it_iter_first(&vm->va, saddr, eaddr); in amdgpu_vm_bo_map() 1864 "0x%010Lx-0x%010Lx\n", bo, saddr, eaddr, in amdgpu_vm_bo_map() 1874 mapping->last = eaddr; in amdgpu_vm_bo_map() 1908 uint64_t eaddr; in amdgpu_vm_bo_replace_map() local 1927 eaddr = saddr + (size - 1) / AMDGPU_GPU_PAGE_SIZE; in amdgpu_vm_bo_replace_map() 1930 mapping->last = eaddr; in amdgpu_vm_bo_replace_map() 2025 uint64_t eaddr; in amdgpu_vm_bo_clear_mappings() local 2033 eaddr = saddr + (size - 1) / AMDGPU_GPU_PAGE_SIZE; in amdgpu_vm_bo_clear_mappings() [all …]
|
| /linux/arch/arm64/kvm/vgic/ |
| H A D | vgic-its.c | 868 gpa_t *eaddr) in vgic_its_check_id() argument 898 if (eaddr) in vgic_its_check_id() 899 *eaddr = addr; in vgic_its_check_id() 928 if (eaddr) in vgic_its_check_id() 929 *eaddr = indirect_ptr; in vgic_its_check_id() 2357 gpa_t eaddr; in vgic_its_save_device_tables() local 2360 dev->device_id, &eaddr)) in vgic_its_save_device_tables() 2367 ret = vgic_its_save_dte(its, dev, eaddr); in vgic_its_save_device_tables()
|
| /linux/lib/ |
| H A D | debugobjects.c | 1071 unsigned long flags, oaddr, saddr, eaddr, paddr, chunks; in __debug_check_no_obj_freed() local 1078 eaddr = saddr + size; in __debug_check_no_obj_freed() 1080 chunks = ((eaddr - paddr) + (ODEBUG_CHUNK_SIZE - 1)); in __debug_check_no_obj_freed() 1092 if (oaddr < saddr || oaddr >= eaddr) in __debug_check_no_obj_freed()
|