summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm
diff options
context:
space:
mode:
authorLiu Yu <yu.liu@freescale.com>2010-01-22 18:50:30 +0800
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 12:36:05 -0300
commita9040f274285c3c962a08b177ac5764b4a93df07 (patch)
tree7e0d4cede5be67d8b32ca33b63a1da7e758c2d3e /arch/powerpc/kvm
parentd86be077a4d62e5615e97674dab8d894ce582b09 (diff)
downloadlinux-a9040f274285c3c962a08b177ac5764b4a93df07.tar.bz2
KVM: PPC: Add PVR/PIR init for E500
commit 513579e3a391a3874c478a8493080822069976e8 change the way we emulate PVR/PIR, which left PVR/PIR uninitialized on E500, and make guest puzzled. Signed-off-by: Liu Yu <yu.liu@freescale.com> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r--arch/powerpc/kvm/e500.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/e500.c b/arch/powerpc/kvm/e500.c
index 64949eef43f1..efa1198940ab 100644
--- a/arch/powerpc/kvm/e500.c
+++ b/arch/powerpc/kvm/e500.c
@@ -60,6 +60,12 @@ int kvmppc_core_vcpu_setup(struct kvm_vcpu *vcpu)
kvmppc_e500_tlb_setup(vcpu_e500);
+ /* Registers init */
+ vcpu->arch.pvr = mfspr(SPRN_PVR);
+
+ /* Since booke kvm only support one core, update all vcpus' PIR to 0 */
+ vcpu->vcpu_id = 0;
+
return 0;
}