diff options
author | Mihai Caraman <mihai.caraman@freescale.com> | 2012-10-11 02:13:24 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-12-05 19:34:14 -0500 |
commit | 9e2fa646936160eca525bcb80c2cce05faa9b208 (patch) | |
tree | a5eb2c919047614fd0723d2f41c6a5f58496d674 /arch/powerpc | |
parent | 8823a8fd0d730612f12a87102503622c01eb2468 (diff) |
KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation
Mask high 32 bits of MAS2's effective page number in tlbwe emulation for guests
running in 32-bit mode.
Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kvm/e500_tlb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc/kvm/e500_tlb.c index 7a1472163120..cf3f18012371 100644 --- a/arch/powerpc/kvm/e500_tlb.c +++ b/arch/powerpc/kvm/e500_tlb.c | |||
@@ -871,6 +871,8 @@ int kvmppc_e500_emul_tlbwe(struct kvm_vcpu *vcpu) | |||
871 | 871 | ||
872 | gtlbe->mas1 = vcpu->arch.shared->mas1; | 872 | gtlbe->mas1 = vcpu->arch.shared->mas1; |
873 | gtlbe->mas2 = vcpu->arch.shared->mas2; | 873 | gtlbe->mas2 = vcpu->arch.shared->mas2; |
874 | if (!(vcpu->arch.shared->msr & MSR_CM)) | ||
875 | gtlbe->mas2 &= 0xffffffffUL; | ||
874 | gtlbe->mas7_3 = vcpu->arch.shared->mas7_3; | 876 | gtlbe->mas7_3 = vcpu->arch.shared->mas7_3; |
875 | 877 | ||
876 | trace_kvm_booke206_gtlb_write(vcpu->arch.shared->mas0, gtlbe->mas1, | 878 | trace_kvm_booke206_gtlb_write(vcpu->arch.shared->mas0, gtlbe->mas1, |