From 63a8803df24a7f07a97cc9b9188ef3ad44e22b33 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Tue, 29 Mar 2011 16:49:10 -0500 Subject: [PATCH] --- yaml --- r: 248094 b: refs/heads/master c: 90d34b0e45df3bfe522e9e9d604c4c1a0253699d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/powerpc/include/asm/kvm_e500.h | 1 + trunk/arch/powerpc/kvm/e500.c | 1 + trunk/arch/powerpc/kvm/e500_emulate.c | 2 ++ 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c93296d68eea..a0a82a211fbe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2fb92db1ec08f3235c500e7f460eeb78092d844e +refs/heads/master: 90d34b0e45df3bfe522e9e9d604c4c1a0253699d diff --git a/trunk/arch/powerpc/include/asm/kvm_e500.h b/trunk/arch/powerpc/include/asm/kvm_e500.h index 7fea26fffb25..bb2a0890600f 100644 --- a/trunk/arch/powerpc/include/asm/kvm_e500.h +++ b/trunk/arch/powerpc/include/asm/kvm_e500.h @@ -43,6 +43,7 @@ struct kvmppc_vcpu_e500 { u32 host_pid[E500_PID_NUM]; u32 pid[E500_PID_NUM]; + u32 svr; u32 mas0; u32 mas1; diff --git a/trunk/arch/powerpc/kvm/e500.c b/trunk/arch/powerpc/kvm/e500.c index e3768ee9b595..0c1af1267843 100644 --- a/trunk/arch/powerpc/kvm/e500.c +++ b/trunk/arch/powerpc/kvm/e500.c @@ -63,6 +63,7 @@ int kvmppc_core_vcpu_setup(struct kvm_vcpu *vcpu) /* Registers init */ vcpu->arch.pvr = mfspr(SPRN_PVR); + vcpu_e500->svr = mfspr(SPRN_SVR); /* Since booke kvm only support one core, update all vcpus' PIR to 0 */ vcpu->vcpu_id = 0; diff --git a/trunk/arch/powerpc/kvm/e500_emulate.c b/trunk/arch/powerpc/kvm/e500_emulate.c index 8e3edfbc9634..e2fb47f035a5 100644 --- a/trunk/arch/powerpc/kvm/e500_emulate.c +++ b/trunk/arch/powerpc/kvm/e500_emulate.c @@ -175,6 +175,8 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt) kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid0); break; case SPRN_HID1: kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid1); break; + case SPRN_SVR: + kvmppc_set_gpr(vcpu, rt, vcpu_e500->svr); break; case SPRN_MMUCSR0: kvmppc_set_gpr(vcpu, rt, 0); break;