diff options
-rw-r--r-- | arch/s390/kernel/ipl.c | 4 | ||||
-rw-r--r-- | arch/s390/kernel/reipl.S | 6 | ||||
-rw-r--r-- | arch/s390/kernel/reipl64.S | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index 48bfe402052b..9e9972e8a52b 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c | |||
@@ -995,6 +995,7 @@ static void do_reset_calls(void) | |||
995 | 995 | ||
996 | extern void reset_mcck_handler(void); | 996 | extern void reset_mcck_handler(void); |
997 | extern void reset_pgm_handler(void); | 997 | extern void reset_pgm_handler(void); |
998 | extern __u32 dump_prefix_page; | ||
998 | 999 | ||
999 | void s390_reset_system(void) | 1000 | void s390_reset_system(void) |
1000 | { | 1001 | { |
@@ -1005,6 +1006,9 @@ void s390_reset_system(void) | |||
1005 | /* Stack for interrupt/machine check handler */ | 1006 | /* Stack for interrupt/machine check handler */ |
1006 | lc->panic_stack = S390_lowcore.panic_stack; | 1007 | lc->panic_stack = S390_lowcore.panic_stack; |
1007 | 1008 | ||
1009 | /* Save prefix page address for dump case */ | ||
1010 | dump_prefix_page = (unsigned long) lc; | ||
1011 | |||
1008 | /* Disable prefixing */ | 1012 | /* Disable prefixing */ |
1009 | set_prefix(0); | 1013 | set_prefix(0); |
1010 | 1014 | ||
diff --git a/arch/s390/kernel/reipl.S b/arch/s390/kernel/reipl.S index f9434d42ce9f..c3f4d9b95083 100644 --- a/arch/s390/kernel/reipl.S +++ b/arch/s390/kernel/reipl.S | |||
@@ -16,7 +16,7 @@ do_reipl_asm: basr %r13,0 | |||
16 | stm %r0,%r15,__LC_GPREGS_SAVE_AREA | 16 | stm %r0,%r15,__LC_GPREGS_SAVE_AREA |
17 | stctl %c0,%c15,__LC_CREGS_SAVE_AREA | 17 | stctl %c0,%c15,__LC_CREGS_SAVE_AREA |
18 | stam %a0,%a15,__LC_AREGS_SAVE_AREA | 18 | stam %a0,%a15,__LC_AREGS_SAVE_AREA |
19 | stpx __LC_PREFIX_SAVE_AREA | 19 | mvc __LC_PREFIX_SAVE_AREA(4),dump_prefix_page-.Lpg0(%r13) |
20 | stckc .Lclkcmp-.Lpg0(%r13) | 20 | stckc .Lclkcmp-.Lpg0(%r13) |
21 | mvc __LC_CLOCK_COMP_SAVE_AREA(8),.Lclkcmp-.Lpg0(%r13) | 21 | mvc __LC_CLOCK_COMP_SAVE_AREA(8),.Lclkcmp-.Lpg0(%r13) |
22 | stpt __LC_CPU_TIMER_SAVE_AREA | 22 | stpt __LC_CPU_TIMER_SAVE_AREA |
@@ -79,3 +79,7 @@ do_reipl_asm: basr %r13,0 | |||
79 | .long 0x00000000,0x00000000 | 79 | .long 0x00000000,0x00000000 |
80 | .long 0x00000000,0x00000000 | 80 | .long 0x00000000,0x00000000 |
81 | .long 0x00000000,0x00000000 | 81 | .long 0x00000000,0x00000000 |
82 | .globl dump_prefix_page | ||
83 | dump_prefix_page: | ||
84 | .long 0x00000000 | ||
85 | |||
diff --git a/arch/s390/kernel/reipl64.S b/arch/s390/kernel/reipl64.S index f18ef260ca23..dbb3eed38865 100644 --- a/arch/s390/kernel/reipl64.S +++ b/arch/s390/kernel/reipl64.S | |||
@@ -20,7 +20,7 @@ do_reipl_asm: basr %r13,0 | |||
20 | stg %r0,__LC_GPREGS_SAVE_AREA-0x1000+8(%r1) | 20 | stg %r0,__LC_GPREGS_SAVE_AREA-0x1000+8(%r1) |
21 | stctg %c0,%c15,__LC_CREGS_SAVE_AREA-0x1000(%r1) | 21 | stctg %c0,%c15,__LC_CREGS_SAVE_AREA-0x1000(%r1) |
22 | stam %a0,%a15,__LC_AREGS_SAVE_AREA-0x1000(%r1) | 22 | stam %a0,%a15,__LC_AREGS_SAVE_AREA-0x1000(%r1) |
23 | stpx __LC_PREFIX_SAVE_AREA-0x1000(%r1) | 23 | mvc __LC_PREFIX_SAVE_AREA-0x1000(4,%r1),dump_prefix_page-.Lpg0(%r13) |
24 | stfpc __LC_FP_CREG_SAVE_AREA-0x1000(%r1) | 24 | stfpc __LC_FP_CREG_SAVE_AREA-0x1000(%r1) |
25 | stckc .Lclkcmp-.Lpg0(%r13) | 25 | stckc .Lclkcmp-.Lpg0(%r13) |
26 | mvc __LC_CLOCK_COMP_SAVE_AREA-0x1000(8,%r1),.Lclkcmp-.Lpg0(%r13) | 26 | mvc __LC_CLOCK_COMP_SAVE_AREA-0x1000(8,%r1),.Lclkcmp-.Lpg0(%r13) |
@@ -103,3 +103,6 @@ do_reipl_asm: basr %r13,0 | |||
103 | .long 0x00000000,0x00000000 | 103 | .long 0x00000000,0x00000000 |
104 | .long 0x00000000,0x00000000 | 104 | .long 0x00000000,0x00000000 |
105 | .long 0x00000000,0x00000000 | 105 | .long 0x00000000,0x00000000 |
106 | .globl dump_prefix_page | ||
107 | dump_prefix_page: | ||
108 | .long 0x00000000 | ||