Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 298888
b: refs/heads/master
c: e1f8acf
h: refs/heads/master
v: v3
  • Loading branch information
Alexander Graf authored and Paul Mackerras committed Apr 3, 2012
1 parent b73fc4e commit 7164ea2
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a5ddea0e78e76aa8d6354b9b0e51e652e21b8137
refs/heads/master: e1f8acf8380abfd52aefbfa524e74af5ce0c8492
7 changes: 7 additions & 0 deletions trunk/arch/powerpc/kvm/book3s_interrupts.S
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ kvm_start_entry:
/* Save non-volatile registers (r14 - r31) */
SAVE_NVGPRS(r1)

/* Save CR */
mfcr r14
stw r14, _CCR(r1)

/* Save LR */
PPC_STL r0, _LINK(r1)

Expand Down Expand Up @@ -165,6 +169,9 @@ kvm_exit_loop:
PPC_LL r4, _LINK(r1)
mtlr r4

lwz r14, _CCR(r1)
mtcr r14

/* Restore non-volatile host registers (r14 - r31) */
REST_NVGPRS(r1)

Expand Down
7 changes: 6 additions & 1 deletion trunk/arch/powerpc/kvm/booke_interrupts.S
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
/* r2 is special: it holds 'current', and it made nonvolatile in the
* kernel with the -ffixed-r2 gcc option. */
#define HOST_R2 12
#define HOST_NV_GPRS 16
#define HOST_CR 16
#define HOST_NV_GPRS 20
#define HOST_NV_GPR(n) (HOST_NV_GPRS + ((n - 14) * 4))
#define HOST_MIN_STACK_SIZE (HOST_NV_GPR(31) + 4)
#define HOST_STACK_SIZE (((HOST_MIN_STACK_SIZE + 15) / 16) * 16) /* Align. */
Expand Down Expand Up @@ -296,8 +297,10 @@ heavyweight_exit:

/* Return to kvm_vcpu_run(). */
lwz r4, HOST_STACK_LR(r1)
lwz r5, HOST_CR(r1)
addi r1, r1, HOST_STACK_SIZE
mtlr r4
mtcr r5
/* r3 still contains the return code from kvmppc_handle_exit(). */
blr

Expand All @@ -314,6 +317,8 @@ _GLOBAL(__kvmppc_vcpu_run)
stw r3, HOST_RUN(r1)
mflr r3
stw r3, HOST_STACK_LR(r1)
mfcr r5
stw r5, HOST_CR(r1)

/* Save host non-volatile register state to stack. */
stw r14, HOST_NV_GPR(r14)(r1)
Expand Down

0 comments on commit 7164ea2

Please sign in to comment.