diff options
Diffstat (limited to 'arch/powerpc/kvm/bookehv_interrupts.S')
-rw-r--r-- | arch/powerpc/kvm/bookehv_interrupts.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S index 99635a37c78c..a1712b818a5f 100644 --- a/arch/powerpc/kvm/bookehv_interrupts.S +++ b/arch/powerpc/kvm/bookehv_interrupts.S | |||
@@ -229,13 +229,20 @@ | |||
229 | stw r10, VCPU_CR(r4) | 229 | stw r10, VCPU_CR(r4) |
230 | PPC_STL r11, VCPU_GPR(R4)(r4) | 230 | PPC_STL r11, VCPU_GPR(R4)(r4) |
231 | PPC_STL r5, VCPU_GPR(R5)(r4) | 231 | PPC_STL r5, VCPU_GPR(R5)(r4) |
232 | mfspr r5, \scratch | ||
233 | PPC_STL r6, VCPU_GPR(R6)(r4) | 232 | PPC_STL r6, VCPU_GPR(R6)(r4) |
234 | PPC_STL r8, VCPU_GPR(R8)(r4) | 233 | PPC_STL r8, VCPU_GPR(R8)(r4) |
235 | PPC_STL r9, VCPU_GPR(R9)(r4) | 234 | PPC_STL r9, VCPU_GPR(R9)(r4) |
236 | PPC_STL r5, VCPU_GPR(R13)(r4) | 235 | .if \type == EX_TLB |
236 | PPC_LL r5, EX_TLB_R13(r12) | ||
237 | PPC_LL r6, EX_TLB_R10(r12) | ||
238 | PPC_LL r8, EX_TLB_R11(r12) | ||
239 | mfspr r12, \scratch | ||
240 | .else | ||
241 | mfspr r5, \scratch | ||
237 | PPC_LL r6, (\paca_ex + \ex_r10)(r13) | 242 | PPC_LL r6, (\paca_ex + \ex_r10)(r13) |
238 | PPC_LL r8, (\paca_ex + \ex_r11)(r13) | 243 | PPC_LL r8, (\paca_ex + \ex_r11)(r13) |
244 | .endif | ||
245 | PPC_STL r5, VCPU_GPR(R13)(r4) | ||
239 | PPC_STL r3, VCPU_GPR(R3)(r4) | 246 | PPC_STL r3, VCPU_GPR(R3)(r4) |
240 | PPC_STL r7, VCPU_GPR(R7)(r4) | 247 | PPC_STL r7, VCPU_GPR(R7)(r4) |
241 | PPC_STL r12, VCPU_GPR(R12)(r4) | 248 | PPC_STL r12, VCPU_GPR(R12)(r4) |