aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/bookehv_interrupts.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kvm/bookehv_interrupts.S')
-rw-r--r--arch/powerpc/kvm/bookehv_interrupts.S77
1 files changed, 39 insertions, 38 deletions
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S
index d28c2d43ac1..099fe8272b5 100644
--- a/arch/powerpc/kvm/bookehv_interrupts.S
+++ b/arch/powerpc/kvm/bookehv_interrupts.S
@@ -50,8 +50,9 @@
50#define HOST_R2 (3 * LONGBYTES) 50#define HOST_R2 (3 * LONGBYTES)
51#define HOST_CR (4 * LONGBYTES) 51#define HOST_CR (4 * LONGBYTES)
52#define HOST_NV_GPRS (5 * LONGBYTES) 52#define HOST_NV_GPRS (5 * LONGBYTES)
53#define HOST_NV_GPR(n) (HOST_NV_GPRS + ((n - 14) * LONGBYTES)) 53#define __HOST_NV_GPR(n) (HOST_NV_GPRS + ((n - 14) * LONGBYTES))
54#define HOST_MIN_STACK_SIZE (HOST_NV_GPR(31) + LONGBYTES) 54#define HOST_NV_GPR(n) __HOST_NV_GPR(__REG_##n)
55#define HOST_MIN_STACK_SIZE (HOST_NV_GPR(R31) + LONGBYTES)
55#define HOST_STACK_SIZE ((HOST_MIN_STACK_SIZE + 15) & ~15) /* Align. */ 56#define HOST_STACK_SIZE ((HOST_MIN_STACK_SIZE + 15) & ~15) /* Align. */
56#define HOST_STACK_LR (HOST_STACK_SIZE + LONGBYTES) /* In caller stack frame. */ 57#define HOST_STACK_LR (HOST_STACK_SIZE + LONGBYTES) /* In caller stack frame. */
57 58
@@ -410,24 +411,24 @@ heavyweight_exit:
410 PPC_STL r31, VCPU_GPR(R31)(r4) 411 PPC_STL r31, VCPU_GPR(R31)(r4)
411 412
412 /* Load host non-volatile register state from host stack. */ 413 /* Load host non-volatile register state from host stack. */
413 PPC_LL r14, HOST_NV_GPR(r14)(r1) 414 PPC_LL r14, HOST_NV_GPR(R14)(r1)
414 PPC_LL r15, HOST_NV_GPR(r15)(r1) 415 PPC_LL r15, HOST_NV_GPR(R15)(r1)
415 PPC_LL r16, HOST_NV_GPR(r16)(r1) 416 PPC_LL r16, HOST_NV_GPR(R16)(r1)
416 PPC_LL r17, HOST_NV_GPR(r17)(r1) 417 PPC_LL r17, HOST_NV_GPR(R17)(r1)
417 PPC_LL r18, HOST_NV_GPR(r18)(r1) 418 PPC_LL r18, HOST_NV_GPR(R18)(r1)
418 PPC_LL r19, HOST_NV_GPR(r19)(r1) 419 PPC_LL r19, HOST_NV_GPR(R19)(r1)
419 PPC_LL r20, HOST_NV_GPR(r20)(r1) 420 PPC_LL r20, HOST_NV_GPR(R20)(r1)
420 PPC_LL r21, HOST_NV_GPR(r21)(r1) 421 PPC_LL r21, HOST_NV_GPR(R21)(r1)
421 PPC_LL r22, HOST_NV_GPR(r22)(r1) 422 PPC_LL r22, HOST_NV_GPR(R22)(r1)
422 PPC_LL r23, HOST_NV_GPR(r23)(r1) 423 PPC_LL r23, HOST_NV_GPR(R23)(r1)
423 PPC_LL r24, HOST_NV_GPR(r24)(r1) 424 PPC_LL r24, HOST_NV_GPR(R24)(r1)
424 PPC_LL r25, HOST_NV_GPR(r25)(r1) 425 PPC_LL r25, HOST_NV_GPR(R25)(r1)
425 PPC_LL r26, HOST_NV_GPR(r26)(r1) 426 PPC_LL r26, HOST_NV_GPR(R26)(r1)
426 PPC_LL r27, HOST_NV_GPR(r27)(r1) 427 PPC_LL r27, HOST_NV_GPR(R27)(r1)
427 PPC_LL r28, HOST_NV_GPR(r28)(r1) 428 PPC_LL r28, HOST_NV_GPR(R28)(r1)
428 PPC_LL r29, HOST_NV_GPR(r29)(r1) 429 PPC_LL r29, HOST_NV_GPR(R29)(r1)
429 PPC_LL r30, HOST_NV_GPR(r30)(r1) 430 PPC_LL r30, HOST_NV_GPR(R30)(r1)
430 PPC_LL r31, HOST_NV_GPR(r31)(r1) 431 PPC_LL r31, HOST_NV_GPR(R31)(r1)
431 432
432 /* Return to kvm_vcpu_run(). */ 433 /* Return to kvm_vcpu_run(). */
433 mtlr r5 434 mtlr r5
@@ -453,24 +454,24 @@ _GLOBAL(__kvmppc_vcpu_run)
453 stw r5, HOST_CR(r1) 454 stw r5, HOST_CR(r1)
454 455
455 /* Save host non-volatile register state to stack. */ 456 /* Save host non-volatile register state to stack. */
456 PPC_STL r14, HOST_NV_GPR(r14)(r1) 457 PPC_STL r14, HOST_NV_GPR(R14)(r1)
457 PPC_STL r15, HOST_NV_GPR(r15)(r1) 458 PPC_STL r15, HOST_NV_GPR(R15)(r1)
458 PPC_STL r16, HOST_NV_GPR(r16)(r1) 459 PPC_STL r16, HOST_NV_GPR(R16)(r1)
459 PPC_STL r17, HOST_NV_GPR(r17)(r1) 460 PPC_STL r17, HOST_NV_GPR(R17)(r1)
460 PPC_STL r18, HOST_NV_GPR(r18)(r1) 461 PPC_STL r18, HOST_NV_GPR(R18)(r1)
461 PPC_STL r19, HOST_NV_GPR(r19)(r1) 462 PPC_STL r19, HOST_NV_GPR(R19)(r1)
462 PPC_STL r20, HOST_NV_GPR(r20)(r1) 463 PPC_STL r20, HOST_NV_GPR(R20)(r1)
463 PPC_STL r21, HOST_NV_GPR(r21)(r1) 464 PPC_STL r21, HOST_NV_GPR(R21)(r1)
464 PPC_STL r22, HOST_NV_GPR(r22)(r1) 465 PPC_STL r22, HOST_NV_GPR(R22)(r1)
465 PPC_STL r23, HOST_NV_GPR(r23)(r1) 466 PPC_STL r23, HOST_NV_GPR(R23)(r1)
466 PPC_STL r24, HOST_NV_GPR(r24)(r1) 467 PPC_STL r24, HOST_NV_GPR(R24)(r1)
467 PPC_STL r25, HOST_NV_GPR(r25)(r1) 468 PPC_STL r25, HOST_NV_GPR(R25)(r1)
468 PPC_STL r26, HOST_NV_GPR(r26)(r1) 469 PPC_STL r26, HOST_NV_GPR(R26)(r1)
469 PPC_STL r27, HOST_NV_GPR(r27)(r1) 470 PPC_STL r27, HOST_NV_GPR(R27)(r1)
470 PPC_STL r28, HOST_NV_GPR(r28)(r1) 471 PPC_STL r28, HOST_NV_GPR(R28)(r1)
471 PPC_STL r29, HOST_NV_GPR(r29)(r1) 472 PPC_STL r29, HOST_NV_GPR(R29)(r1)
472 PPC_STL r30, HOST_NV_GPR(r30)(r1) 473 PPC_STL r30, HOST_NV_GPR(R30)(r1)
473 PPC_STL r31, HOST_NV_GPR(r31)(r1) 474 PPC_STL r31, HOST_NV_GPR(R31)(r1)
474 475
475 /* Load guest non-volatiles. */ 476 /* Load guest non-volatiles. */
476 PPC_LL r14, VCPU_GPR(R14)(r4) 477 PPC_LL r14, VCPU_GPR(R14)(r4)