diff options
author | Mihai Caraman <mihai.caraman@freescale.com> | 2012-04-16 00:08:53 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-05-06 10:19:11 -0400 |
commit | 4444aa5f78eff73a353c8c4784cda2de74dea54b (patch) | |
tree | b86dd0c1a431432b4b215e686cd0d70368ca3330 /arch/powerpc | |
parent | 3b1d9d7d95e7c62518160edebd92450b58c6d55f (diff) |
KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
Guest r8 register is held in the scratch register and stored correctly,
so remove the instruction that clobbers it. Guest r13 was missing from vcpu,
store it there.
Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kvm/bookehv_interrupts.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S index 06750cc1050b..6048a00515d7 100644 --- a/arch/powerpc/kvm/bookehv_interrupts.S +++ b/arch/powerpc/kvm/bookehv_interrupts.S | |||
@@ -252,10 +252,10 @@ _GLOBAL(kvmppc_handler_\intno\()_\srr1) | |||
252 | mfspr r6, \srr1 | 252 | mfspr r6, \srr1 |
253 | PPC_LL r4, GPR11(r8) | 253 | PPC_LL r4, GPR11(r8) |
254 | PPC_STL r7, VCPU_GPR(r7)(r11) | 254 | PPC_STL r7, VCPU_GPR(r7)(r11) |
255 | PPC_STL r8, VCPU_GPR(r8)(r11) | ||
256 | PPC_STL r3, VCPU_GPR(r10)(r11) | 255 | PPC_STL r3, VCPU_GPR(r10)(r11) |
257 | mfctr r7 | 256 | mfctr r7 |
258 | PPC_STL r12, VCPU_GPR(r12)(r11) | 257 | PPC_STL r12, VCPU_GPR(r12)(r11) |
258 | PPC_STL r13, VCPU_GPR(r13)(r11) | ||
259 | PPC_STL r4, VCPU_GPR(r11)(r11) | 259 | PPC_STL r4, VCPU_GPR(r11)(r11) |
260 | PPC_STL r7, VCPU_CTR(r11) | 260 | PPC_STL r7, VCPU_CTR(r11) |
261 | mr r4, r11 | 261 | mr r4, r11 |