|
@@ -8,6 +8,10 @@
|
|
|
|
|
|
#include <asm/lowcore.h>
|
|
|
|
|
|
+#
|
|
|
+# do_reipl_asm
|
|
|
+# Parameter: r2 = schid of reipl device
|
|
|
+#
|
|
|
.globl do_reipl_asm
|
|
|
do_reipl_asm: basr %r13,0
|
|
|
.Lpg0: lpsw .Lnewpsw-.Lpg0(%r13)
|
|
@@ -16,12 +20,12 @@ do_reipl_asm: basr %r13,0
|
|
|
stm %r0,%r15,__LC_GPREGS_SAVE_AREA
|
|
|
stctl %c0,%c15,__LC_CREGS_SAVE_AREA
|
|
|
stam %a0,%a15,__LC_AREGS_SAVE_AREA
|
|
|
- mvc __LC_PREFIX_SAVE_AREA(4),dump_prefix_page-.Lpg0(%r13)
|
|
|
+ l %r10,.Ldump_pfx-.Lpg0(%r13)
|
|
|
+ mvc __LC_PREFIX_SAVE_AREA(4),0(%r10)
|
|
|
stckc .Lclkcmp-.Lpg0(%r13)
|
|
|
mvc __LC_CLOCK_COMP_SAVE_AREA(8),.Lclkcmp-.Lpg0(%r13)
|
|
|
stpt __LC_CPU_TIMER_SAVE_AREA
|
|
|
st %r13, __LC_PSW_SAVE_AREA+4
|
|
|
-
|
|
|
lctl %c6,%c6,.Lall-.Lpg0(%r13)
|
|
|
lr %r1,%r2
|
|
|
mvc __LC_PGM_NEW_PSW(8),.Lpcnew-.Lpg0(%r13)
|
|
@@ -55,6 +59,7 @@ do_reipl_asm: basr %r13,0
|
|
|
.align 8
|
|
|
.Lclkcmp: .quad 0x0000000000000000
|
|
|
.Lall: .long 0xff000000
|
|
|
+.Ldump_pfx: .long dump_prefix_page
|
|
|
.align 8
|
|
|
.Lnewpsw: .long 0x00080000,0x80000000+.Lpg1
|
|
|
.Lpcnew: .long 0x00080000,0x80000000+.Lecs
|
|
@@ -79,7 +84,3 @@ do_reipl_asm: basr %r13,0
|
|
|
.long 0x00000000,0x00000000
|
|
|
.long 0x00000000,0x00000000
|
|
|
.long 0x00000000,0x00000000
|
|
|
- .globl dump_prefix_page
|
|
|
-dump_prefix_page:
|
|
|
- .long 0x00000000
|
|
|
-
|