aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/smp.c
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@de.ibm.com>2008-01-26 08:11:11 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-01-26 08:11:19 -0500
commit99ca4e582d4a4088969681efff97be44d98421a1 (patch)
treef6478bcdc30d84cc6f67485bd78c9ba54827e07e /arch/s390/kernel/smp.c
parentceb3dfbae1d3faacaedfc64c913fd18cd3624f72 (diff)
[S390] kernel: Shutdown Actions Interface
In case of a kernel panic it is currently possible to specify that a dump should be created, the system should be rebooted or stopped. Virtual sysfs files under the directory /sys/firmware/ are used for that configuration. In addition to that, there are kernel parameters 'vmhalt', 'vmpoff' and 'vmpanic', which can be used to specify z/VM commands, which are automatically executed in case of halt, power off or a kernel panic. This patch combines both functionalities and allows to specify the z/VM CP commands also via sysfs attributes. In addition to that, it enhances the existing handling of shutdown triggers (e.g. halt or panic) and associated shutdown actions (e.g. dump or reipl) and makes it more flexible. Signed-off-by: Michael Holzheu <holzheu@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/smp.c')
-rw-r--r--arch/s390/kernel/smp.c27
1 files changed, 0 insertions, 27 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 320e4e97bf52..d300a7fdf711 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -234,33 +234,6 @@ void smp_send_stop(void)
234} 234}
235 235
236/* 236/*
237 * Reboot, halt and power_off routines for SMP.
238 */
239void machine_restart_smp(char *__unused)
240{
241 smp_send_stop();
242 do_reipl();
243}
244
245void machine_halt_smp(void)
246{
247 smp_send_stop();
248 if (MACHINE_IS_VM && strlen(vmhalt_cmd) > 0)
249 __cpcmd(vmhalt_cmd, NULL, 0, NULL);
250 signal_processor(smp_processor_id(), sigp_stop_and_store_status);
251 for (;;);
252}
253
254void machine_power_off_smp(void)
255{
256 smp_send_stop();
257 if (MACHINE_IS_VM && strlen(vmpoff_cmd) > 0)
258 __cpcmd(vmpoff_cmd, NULL, 0, NULL);
259 signal_processor(smp_processor_id(), sigp_stop_and_store_status);
260 for (;;);
261}
262
263/*
264 * This is the main routine where commands issued by other 237 * This is the main routine where commands issued by other
265 * cpus are handled. 238 * cpus are handled.
266 */ 239 */