diff options
author | Mihai Caraman <mihai.caraman@freescale.com> | 2012-10-11 06:13:24 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-12-06 01:34:14 +0100 |
commit | 9e2fa646936160eca525bcb80c2cce05faa9b208 (patch) | |
tree | a5eb2c919047614fd0723d2f41c6a5f58496d674 /arch/powerpc | |
parent | 8823a8fd0d730612f12a87102503622c01eb2468 (diff) | |
download | linux-9e2fa646936160eca525bcb80c2cce05faa9b208.tar.bz2 |
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) gtlbe->mas1 = vcpu->arch.shared->mas1; gtlbe->mas2 = vcpu->arch.shared->mas2; + if (!(vcpu->arch.shared->msr & MSR_CM)) + gtlbe->mas2 &= 0xffffffffUL; gtlbe->mas7_3 = vcpu->arch.shared->mas7_3; trace_kvm_booke206_gtlb_write(vcpu->arch.shared->mas0, gtlbe->mas1, |