KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation
authorMihai Caraman <mihai.caraman@freescale.com>
Thu, 11 Oct 2012 06:13:24 +0000 (06:13 +0000)
committerAlexander Graf <agraf@suse.de>
Thu, 6 Dec 2012 00:34:14 +0000 (01:34 +0100)
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>
arch/powerpc/kvm/e500_tlb.c

index 7a14721..cf3f180 100644 (file)
@@ -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,