aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/ipl.c
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@de.ibm.com>2006-12-15 11:18:27 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-12-15 11:18:27 -0500
commitda1cf23efe0c067ef95e4702b386e6e1baab10c7 (patch)
treeb36343c44c122ea221667731800e955d55bef6bb /arch/s390/kernel/ipl.c
parent58be944127be80bd947dd72d69523b3d4b17781f (diff)
[S390] Save prefix register for dump on panic
The dump tools expect that the saved prefix register points to the lowcore of the dump cpu. Since we set the prefix register to 0 during reipl/dump, we have to save the original prefix register. Before we start the dump program, we copy the original prefix register to the designated location in the lowcore. Signed-off-by: Michael Holzheu <holzheu@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/ipl.c')
-rw-r--r--arch/s390/kernel/ipl.c4
1 files changed, 4 insertions, 0 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
996extern void reset_mcck_handler(void); 996extern void reset_mcck_handler(void);
997extern void reset_pgm_handler(void); 997extern void reset_pgm_handler(void);
998extern __u32 dump_prefix_page;
998 999
999void s390_reset_system(void) 1000void 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