Lines Matching refs:eaddr
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)
77 return kvmppc_get_sr(vcpu, (eaddr >> 28) & 0xf);
80 static u64 kvmppc_mmu_book3s_32_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr,
86 if (!kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, &pte, data, false))
89 kvmppc_mmu_book3s_32_esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid);
90 return (((u64)eaddr >> 12) & 0xffff) | (vsid << 16);
94 u32 sre, gva_t eaddr,
101 page = (eaddr & 0x0FFFFFFF) >> 12;
111 dprintk("MMU: pc=0x%lx eaddr=0x%lx sdr1=0x%llx pteg=0x%x vsid=0x%x\n",
112 kvmppc_get_pc(vcpu), eaddr, vcpu_book3s->sdr1, pteg,
121 static u32 kvmppc_mmu_book3s_32_get_ptem(u32 sre, gva_t eaddr, bool primary)
123 return ((eaddr & 0x0fffffff) >> 22) | (sr_vsid(sre) << 7) |
127 static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr,
152 data ? 'd' : 'i', i, eaddr, bat->bepi,
155 if ((eaddr & bat->bepi_mask) == bat->bepi) {
158 eaddr >> SID_SHIFT, &vsid);
160 pte->vpage = (((u64)eaddr >> 12) & 0xffff) | vsid;
162 pte->raddr = bat->brpn | (eaddr & ~bat->bepi_mask);
182 static int kvmppc_mmu_book3s_32_xlate_pte(struct kvm_vcpu *vcpu, gva_t eaddr,
194 sre = find_sr(vcpu, eaddr);
196 dprintk_pte("SR 0x%lx: vsid=0x%x, raw=0x%x\n", eaddr >> 28,
199 pte->vpage = kvmppc_mmu_book3s_32_ea_to_vp(vcpu, eaddr, data);
201 ptegp = kvmppc_mmu_book3s_32_get_pteg(vcpu, sre, eaddr, primary);
207 ptem = kvmppc_mmu_book3s_32_get_ptem(sre, eaddr, primary);
221 pte->raddr = (pte1 & ~(0xFFFULL)) | (eaddr & 0xFFF);
290 static int kvmppc_mmu_book3s_32_xlate(struct kvm_vcpu *vcpu, gva_t eaddr,
297 pte->eaddr = eaddr;
302 unlikely((eaddr & ~0xfffULL) == (mp_ea & ~0xfffULL)) &&
304 pte->vpage = kvmppc_mmu_book3s_32_ea_to_vp(vcpu, eaddr, data);
314 r = kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, pte, data, iswrite);
316 r = kvmppc_mmu_book3s_32_xlate_pte(vcpu, eaddr, pte,
319 r = kvmppc_mmu_book3s_32_xlate_pte(vcpu, eaddr, pte,