diff options
Diffstat (limited to 'arch/powerpc/kvm/e500_emulate.c')
-rw-r--r-- | arch/powerpc/kvm/e500_emulate.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/kvm/e500_emulate.c b/arch/powerpc/kvm/e500_emulate.c index 8e3edfbc9634..69cd665a0caf 100644 --- a/arch/powerpc/kvm/e500_emulate.c +++ b/arch/powerpc/kvm/e500_emulate.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2008 Freescale Semiconductor, Inc. All rights reserved. | 2 | * Copyright (C) 2008-2011 Freescale Semiconductor, Inc. All rights reserved. |
3 | * | 3 | * |
4 | * Author: Yu Liu, <yu.liu@freescale.com> | 4 | * Author: Yu Liu, <yu.liu@freescale.com> |
5 | * | 5 | * |
@@ -78,8 +78,7 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs) | |||
78 | 78 | ||
79 | switch (sprn) { | 79 | switch (sprn) { |
80 | case SPRN_PID: | 80 | case SPRN_PID: |
81 | vcpu_e500->pid[0] = vcpu->arch.shadow_pid = | 81 | kvmppc_set_pid(vcpu, spr_val); |
82 | vcpu->arch.pid = spr_val; | ||
83 | break; | 82 | break; |
84 | case SPRN_PID1: | 83 | case SPRN_PID1: |
85 | vcpu_e500->pid[1] = spr_val; break; | 84 | vcpu_e500->pid[1] = spr_val; break; |
@@ -175,6 +174,8 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt) | |||
175 | kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid0); break; | 174 | kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid0); break; |
176 | case SPRN_HID1: | 175 | case SPRN_HID1: |
177 | kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid1); break; | 176 | kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid1); break; |
177 | case SPRN_SVR: | ||
178 | kvmppc_set_gpr(vcpu, rt, vcpu_e500->svr); break; | ||
178 | 179 | ||
179 | case SPRN_MMUCSR0: | 180 | case SPRN_MMUCSR0: |
180 | kvmppc_set_gpr(vcpu, rt, 0); break; | 181 | kvmppc_set_gpr(vcpu, rt, 0); break; |