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 | ||
