summary refs log tree commit diff
path: root/arch/powerpc/kvm/e500.c
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/e500.c
parentd86be077a4d62e5615e97674dab8d894ce582b09 (diff)
downloadlinux-a9040f274285c3c962a08b177ac5764b4a93df07.tar.gz
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/e500.c')
-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;
 }