summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-04-20 02:49:51 +0200
committerAvi Kivity <avi@redhat.com>2010-05-17 12:19:03 +0300
commit6355644190f67326f5a16d0269c3e612fcfd6889 (patch)
treee1d6ce169651fac7d80eb22c1b95a13995d22893
parentac21467182e562a71d8b4e098ea054e42700c0ff (diff)
downloadop-kernel-dev-6355644190f67326f5a16d0269c3e612fcfd6889.zip
op-kernel-dev-6355644190f67326f5a16d0269c3e612fcfd6889.tar.gz
KVM: PPC: Set VSID_PR also for Book3S_64
Book3S_64 didn't set VSID_PR when we're in PR=1. This lead to pretty bad behavior when searching for the shadow segment, as part of the code relied on VSID_PR being set. This patch fixes booting Book3S_64 guests. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--arch/powerpc/kvm/book3s_64_mmu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_64_mmu.c b/arch/powerpc/kvm/book3s_64_mmu.c
index 612de6e..4025ea2 100644
--- a/arch/powerpc/kvm/book3s_64_mmu.c
+++ b/arch/powerpc/kvm/book3s_64_mmu.c
@@ -473,6 +473,9 @@ static int kvmppc_mmu_book3s_64_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid,
break;
}
+ if (vcpu->arch.msr & MSR_PR)
+ *vsid |= VSID_PR;
+
return 0;
}
OpenPOWER on IntegriCloud