diff options
Diffstat (limited to 'kernel/panic.c')
-rw-r--r-- | kernel/panic.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/panic.c b/kernel/panic.c index 4ba287e05..140c6bad2 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -20,6 +20,10 @@ #include <linux/sysrq.h> #include <linux/interrupt.h> +#ifdef __alpha__ +#include <asm/machvec.h> +#endif + asmlinkage void sys_sync(void); /* it's really int */ extern void unblank_console(void); extern int C_A_D; @@ -28,7 +32,7 @@ int panic_timeout = 0; struct notifier_block *panic_notifier_list = NULL; -__initfunc(void panic_setup(char *str, int *ints)) +void __init panic_setup(char *str, int *ints) { if (ints[0] == 1) panic_timeout = ints[1]; @@ -76,7 +80,10 @@ NORET_TYPE void panic(const char * fmt, ...) #ifdef __sparc__ printk("Press L1-A to return to the boot prom\n"); #endif - +#ifdef __alpha__ + if (alpha_using_srm) + halt(); +#endif sti(); for(;;) { CHECK_EMERGENCY_SYNC |