--- linux/arch/alpha/mm/fault.c.orig Sun Mar 11 22:44:41 2001 +++ linux/arch/alpha/mm/fault.c Sun Mar 11 22:51:04 2001 @@ -24,9 +24,36 @@ #include #include #include +#include #include #include + +extern spinlock_t timerlist_lock; +void bust_spinlocks(int yes) +{ + spin_lock_init(&timerlist_lock); + if (yes) { + oops_in_progress = 1; +#ifdef CONFIG_SMP + spin_lock_init(&global_irq_lock); /* Many serial drivers do __global_cli() */ +#endif + } else { + int loglevel_save = console_loglevel; + unblank_screen(); + oops_in_progress = 0; + /* + * OK, the message is on the console. Now we call printk() + * without oops_in_progress set so that printk will give klogd + * a poke. Hold onto your hats... + */ + console_loglevel = 15; /* NMI oopser may have shut the console up */ + printk(" "); + console_loglevel = loglevel_save; + } +} + + extern void die_if_kernel(char *,struct pt_regs *,long, unsigned long *);