summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-07-10 01:14:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-07-10 01:14:47 +0000
commitcf00b9f677c32c4f0ad187bed33e7bf2209db3b8 (patch)
tree6091370501637f7d42c529bc35454aa0719f35d6 /kernel
parent683c16eb00d32d749c1038f5fd9032d8543e5697 (diff)
o Support for the front panel on the Indy. The panel work now as a
user would expect it to work, like under IRIX with the exception that the machine doesn't freeze solid as long as the button is pressed. o Realtime clock driver (CONFIG_SGI_DS1286) for the Indy. Includes /proc/rtc interface which tells you everything about your RTC which you never wanted to know. You have to configure this driver into your kernel or you won't be able to set your RTC. o Some cleanup of the RTC interfaces in Linux, RTC does no longer mean PC-style RTC. The userland interface definitions are now in <linux/rtc.h>. We still need some more cleanup until we can enable several RTC drivers. o Virtual aliasing fixes for ptrace(2). o Add ptrace(2) interface definitions needed to build GDB to <asm/ptrace.h>. o Revert to some older routines, the newer optimized ones are buggy. o On panic the Indy LED will be blinking fast crying to the admin passing by [music from Rocky Horror show] ``fix me, fix me, fix me''. o On panic the power button will only reboot the machine, not power it down. That's probably more what people want it to do. o Remove some old files. o Did I tell you that CVS is buggy?
Diffstat (limited to 'kernel')
-rw-r--r--kernel/panic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/panic.c b/kernel/panic.c
index bd106a9ec..c72d257a7 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -15,6 +15,7 @@
#include <linux/delay.h>
#include <linux/smp.h>
#include <linux/reboot.h>
+#include <linux/notifier.h>
#include <linux/init.h>
#include <linux/sysrq.h>
#include <linux/interrupt.h>
@@ -25,6 +26,8 @@ extern int C_A_D;
int panic_timeout = 0;
+struct notifier_block *panic_notifier_list = NULL;
+
__initfunc(void panic_setup(char *str, int *ints))
{
if (ints[0] == 1)
@@ -53,6 +56,8 @@ NORET_TYPE void panic(const char * fmt, ...)
unblank_console();
+ notifier_call_chain(&panic_notifier_list, 0, NULL);
+
if (panic_timeout > 0)
{
int i;
@@ -74,6 +79,7 @@ NORET_TYPE void panic(const char * fmt, ...)
#ifdef __sparc__
printk("Press L1-A to return to the boot prom\n");
#endif
+
sti();
for(;;) {
CHECK_EMERGENCY_SYNC