===== arch/sparc/kernel/process.c 1.12 vs edited ===== --- 1.12/arch/sparc/kernel/process.c Wed Apr 30 01:15:11 2003 +++ edited/arch/sparc/kernel/process.c Thu May 15 06:49:37 2003 @@ -54,6 +54,12 @@ */ void (*pm_power_off)(void); +/* + * sysctl - toggle power-off restriction for serial console + * systems in machine_power_off() + */ +int scons_pwroff = 1; + extern void fpsave(unsigned long *, unsigned long *, void *, unsigned long *); struct task_struct *last_task_used_math = NULL; @@ -189,7 +195,7 @@ void machine_power_off(void) { #ifdef CONFIG_SUN_AUXIO - if (auxio_power_register && !serial_console) + if (auxio_power_register && (!serial_console || scons_pwroff)) *auxio_power_register |= AUXIO_POWER_OFF; #endif machine_halt(); ===== arch/sparc64/kernel/power.c 1.7 vs edited ===== --- 1.7/arch/sparc64/kernel/power.c Tue May 6 07:32:38 2003 +++ edited/arch/sparc64/kernel/power.c Thu May 15 06:49:04 2003 @@ -17,6 +17,12 @@ #define __KERNEL_SYSCALLS__ #include +/* + * sysctl - toggle power-off restriction for serial console + * systems in machine_power_off() + */ +int scons_pwroff = 1; + #ifdef CONFIG_PCI static unsigned long power_reg = 0UL; @@ -40,7 +46,7 @@ void machine_power_off(void) { - if (!serial_console) { + if (!serial_console || scons_pwroff) { #ifdef CONFIG_PCI if (power_reg != 0UL) { /* Both register bits seem to have the ===== include/linux/sysctl.h 1.24 vs edited ===== --- 1.24/include/linux/sysctl.h Wed May 28 00:49:28 2003 +++ edited/include/linux/sysctl.h Thu May 15 05:31:22 2003 @@ -125,6 +125,7 @@ KERN_TAINTED=53, /* int: various kernel tainted flags */ KERN_CADPID=54, /* int: PID of the process to notify on CAD */ KERN_CORE_PATTERN=56, /* string: pattern for core-files */ + KERN_SPARC_SCONS_PWROFF=57, /* int: serial console power-off halt */ }; ===== kernel/sysctl.c 1.19 vs edited ===== --- 1.19/kernel/sysctl.c Fri Nov 29 13:50:48 2002 +++ edited/kernel/sysctl.c Wed May 14 06:37:52 2003 @@ -78,6 +78,7 @@ #ifdef __sparc__ extern char reboot_command []; extern int stop_a_enabled; +extern int scons_pwroff; #endif #ifdef CONFIG_ARCH_S390 @@ -186,6 +187,8 @@ {KERN_SPARC_REBOOT, "reboot-cmd", reboot_command, 256, 0644, NULL, &proc_dostring, &sysctl_string }, {KERN_SPARC_STOP_A, "stop-a", &stop_a_enabled, sizeof (int), + 0644, NULL, &proc_dointvec}, + {KERN_SPARC_SCONS_PWROFF, "scons-poweroff", &scons_pwroff, sizeof (int), 0644, NULL, &proc_dointvec}, #endif #ifdef CONFIG_PPC32