Matti Aarnio wrote: > > The linkage of vmlinux fails with lacking code for bust_spinlocks(), > thus I cloned the i386 one as is -- which apparently is not really > processor specific... > > --- arch/alpha/mm/fault.c~ Sun Mar 11 11:49:23 2001 > +++ arch/alpha/mm/fault.c Sun Mar 11 14:46:39 2001 > @@ -231,3 +231,39 @@ > } > #endif > } > + > +extern spinlock_t timerlist_lock; > + > +/* > + * Unlock any spinlocks which will prevent us from getting the > + * message out (timerlist_lock is acquired through the > + * console unblank code) > + */ > +void bust_spinlocks(int yes) > +{ > + spin_lock_init(&timerlist_lock); > + if (yes) { > + oops_in_progress = 1; > +#ifdef CONFIG_SMP > + global_irq_lock = 0; /* Many serial drivers do __global_cli() */ can you say untested-on-smp :) global_irq_lock is a spinlock. > +#endif > + } else { > + int loglevel_save = console_loglevel; > + unblank_screen(); need to include vt_kern.h for unblank_screen proto > +void do_BUG(const char *file, int line) > +{ > + bust_spinlocks(1); > + printk("kernel BUG at %s:%d!\n", file, line); > +} hmm, is this necessary? The patch I sent to Alan is missing this. Don't forget to CC Richard Henderson, the Alpha maintainer, on patches... Attached are the two patches I sent to Alan and Richard earlier today. The first is my version of the bust_spinlock fix. The second is an unrelated fix which was needed for our build, and may be helpful to some seeing "get_wchan_stack" warnings or errors. -- Jeff Garzik | May you have warm words on a cold evening, Building 1024 | a full mooon on a dark night, MandrakeSoft | and a smooth road all the way to your door.