diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2010-06-28 14:05:57 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2010-06-28 14:05:57 -0500 |
commit | 81e52156a0bd31c044c64ffb5b893a4b4aa6d72d (patch) | |
tree | 6ec585818b7f5c14f3683dad6d4502f04b480e3c /src/kernel | |
parent | d512759b3bbc3f3c7cd137842d9da2b5a5bc6e04 (diff) | |
download | talos-hostboot-81e52156a0bd31c044c64ffb5b893a4b4aa6d72d.tar.gz talos-hostboot-81e52156a0bd31c044c64ffb5b893a4b4aa6d72d.zip |
Fix SPRs overwriting GPRs in restore.
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/start.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/kernel/start.S b/src/kernel/start.S index 7bb1fdd51..1aea31024 100644 --- a/src/kernel/start.S +++ b/src/kernel/start.S @@ -249,10 +249,6 @@ kernel_dispatch_task: ld r25, TASK_GPR_25(r1) ;// GPR25 ld r26, TASK_GPR_26(r1) ;// GPR26 ld r27, TASK_GPR_27(r1) ;// GPR27 - ld r28, TASK_GPR_28(r1) ;// GPR28 - ld r29, TASK_GPR_29(r1) ;// GPR29 - ld r30, TASK_GPR_30(r1) ;// GPR30 - ld r31, TASK_GPR_31(r1) ;// GPR31 ld r28, TASK_LR(r1) ;// Load from context: LR, CR, CTR, XER ld r29, TASK_CR(r1) @@ -263,9 +259,13 @@ kernel_dispatch_task: mtctr r30 ;// Restore CTR mtxer r31 ;// Restore XER + ld r28, TASK_GPR_28(r1) ;// GPR28 + ld r29, TASK_GPR_29(r1) ;// GPR29 + ld r30, TASK_GPR_30(r1) ;// GPR30 + ld r31, TASK_GPR_31(r1) ;// GPR31 ld r1, TASK_GPR_1(r1) ;// GPR1 - rfi ;// Execute task. + rfid ;// Execute task. .section .data .balign 1024 |