summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/aim/locore.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc/aim/locore.S')
-rw-r--r--sys/powerpc/aim/locore.S15
1 files changed, 12 insertions, 3 deletions
diff --git a/sys/powerpc/aim/locore.S b/sys/powerpc/aim/locore.S
index f4a2379..1a3c0bb 100644
--- a/sys/powerpc/aim/locore.S
+++ b/sys/powerpc/aim/locore.S
@@ -81,7 +81,7 @@ GLOBAL(esym)
.long 0 /* end of symbol table */
GLOBAL(ofmsr)
- .long 0 /* msr used in Open Firmware */
+ .long 0, 0, 0, 0, 0 /* msr/sprg0-3 used in Open Firmware */
GLOBAL(powersave)
.long 0
@@ -154,8 +154,17 @@ __start:
mfmsr 0
lis 9,ofmsr@ha
- stw 0,ofmsr@l(9)
-
+ stwu 0,ofmsr@l(9)
+
+ mfsprg0 0 /* save SPRG0-3 */
+ stw 0,4(9) /* ofmsr[1] = sprg0 */
+ mfsprg1 0
+ stw 0,8(9) /* ofmsr[2] = sprg1 */
+ mfsprg2 0
+ stw 0,12(9) /* ofmsr[3] = sprg2 */
+ mfsprg3 0
+ stw 0,16(9) /* ofmsr[4] = sprg3 */
+
bl OF_init
lis 4,end@ha
OpenPOWER on IntegriCloud