From: Alexander Graf <agraf@suse.de>
Date: Tue, 20 Apr 2010 00:49:51 +0000 (+0200)
Subject: KVM: PPC: Set VSID_PR also for Book3S_64
X-Git-Tag: firefly_0821_release~9833^2~2050^2~51
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6355644190f67326f5a16d0269c3e612fcfd6889;p=firefly-linux-kernel-4.4.55.git

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>
---

diff --git a/arch/powerpc/kvm/book3s_64_mmu.c b/arch/powerpc/kvm/book3s_64_mmu.c
index 612de6e4d74b..4025ea26b3c1 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;
 }