diff options
-rw-r--r-- | arch/powerpc/kvm/bookehv_interrupts.S | 12 |
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 */ |