aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/ipl.c
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@de.ibm.com>2008-01-26 08:11:12 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-01-26 08:11:20 -0500
commitc654749777e8624187b53fbb94cea91a7bf74347 (patch)
tree446bd1d6470f9e42cfe382facde5c68a50e9b20f /arch/s390/kernel/ipl.c
parent99ca4e582d4a4088969681efff97be44d98421a1 (diff)
[S390] Load disabled wait psw instead of stopping cpu on halt.
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.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
index d73aff63725f..e3b9c6cc3aec 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
@@ -1096,8 +1096,12 @@ static struct shutdown_action vmcmd_action = {SHUTDOWN_ACTION_VMCMD_STR,
1096 1096
1097static void stop_run(struct shutdown_trigger *trigger) 1097static void stop_run(struct shutdown_trigger *trigger)
1098{ 1098{
1099 signal_processor(smp_processor_id(), sigp_stop_and_store_status); 1099 if (strcmp(trigger->name, ON_PANIC_STR) == 0)
1100 for (;;); 1100 disabled_wait((unsigned long) __builtin_return_address(0));
1101 else {
1102 signal_processor(smp_processor_id(), sigp_stop);
1103 for (;;);
1104 }
1101} 1105}
1102 1106
1103static struct shutdown_action stop_action = {SHUTDOWN_ACTION_STOP_STR, 1107static struct shutdown_action stop_action = {SHUTDOWN_ACTION_STOP_STR,