aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kvm/bookehv_interrupts.S12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S
index 9eaeebd86e44..63023ae14da4 100644
--- a/arch/powerpc/kvm/bookehv_interrupts.S
+++ b/arch/powerpc/kvm/bookehv_interrupts.S
@@ -67,6 +67,12 @@
67 * saved in vcpu: cr, ctr, r3-r13 67 * saved in vcpu: cr, ctr, r3-r13
68 */ 68 */
69.macro kvm_handler_common intno, srr0, flags 69.macro kvm_handler_common intno, srr0, flags
70 /* Restore host stack pointer */
71 PPC_STL r1, VCPU_GPR(r1)(r4)
72 PPC_STL r2, VCPU_GPR(r2)(r4)
73 PPC_LL r1, VCPU_HOST_STACK(r4)
74 PPC_LL r2, HOST_R2(r1)
75
70 mfspr r10, SPRN_PID 76 mfspr r10, SPRN_PID
71 lwz r8, VCPU_HOST_PID(r4) 77 lwz r8, VCPU_HOST_PID(r4)
72 PPC_LL r11, VCPU_SHARED(r4) 78 PPC_LL r11, VCPU_SHARED(r4)
@@ -290,10 +296,8 @@ _GLOBAL(kvmppc_resume_host)
290 /* Save remaining volatile guest register state to vcpu. */ 296 /* Save remaining volatile guest register state to vcpu. */
291 mfspr r3, SPRN_VRSAVE 297 mfspr r3, SPRN_VRSAVE
292 PPC_STL r0, VCPU_GPR(r0)(r4) 298 PPC_STL r0, VCPU_GPR(r0)(r4)
293 PPC_STL r1, VCPU_GPR(r1)(r4)
294 mflr r5 299 mflr r5
295 mfspr r6, SPRN_SPRG4 300 mfspr r6, SPRN_SPRG4
296 PPC_STL r2, VCPU_GPR(r2)(r4)
297 PPC_STL r5, VCPU_LR(r4) 301 PPC_STL r5, VCPU_LR(r4)
298 mfspr r7, SPRN_SPRG5 302 mfspr r7, SPRN_SPRG5
299 PPC_STL r3, VCPU_VRSAVE(r4) 303 PPC_STL r3, VCPU_VRSAVE(r4)
@@ -334,10 +338,6 @@ _GLOBAL(kvmppc_resume_host)
334 mtspr SPRN_EPCR, r3 338 mtspr SPRN_EPCR, r3
335 isync 339 isync
336 340
337 /* Restore host stack pointer */
338 PPC_LL r1, VCPU_HOST_STACK(r4)
339 PPC_LL r2, HOST_R2(r1)
340
341 /* Switch to kernel stack and jump to handler. */ 341 /* Switch to kernel stack and jump to handler. */
342 PPC_LL r3, HOST_RUN(r1) 342 PPC_LL r3, HOST_RUN(r1)
343 mr r5, r14 /* intno */ 343 mr r5, r14 /* intno */