diff -purN -X /home/mbligh/.diff.exclude 160-lotsa_sds/arch/i386/kernel/traps.c 170-build_options_on_oops/arch/i386/kernel/traps.c --- 160-lotsa_sds/arch/i386/kernel/traps.c 2004-02-18 16:18:03.000000000 -0800 +++ 170-build_options_on_oops/arch/i386/kernel/traps.c 2004-02-18 16:19:15.000000000 -0800 @@ -293,12 +293,27 @@ spinlock_t die_lock = SPIN_LOCK_UNLOCKED void die(const char * str, struct pt_regs * regs, long err) { static int die_counter; + int nl = 0; console_verbose(); spin_lock_irq(&die_lock); bust_spinlocks(1); handle_BUG(regs); printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); +#ifdef CONFIG_PREEMPT + printk("PREEMPT "); + nl = 1; +#endif +#ifdef CONFIG_SMP + printk("SMP "); + nl = 1; +#endif +#ifdef CONFIG_DEBUG_PAGEALLOC + printk("DEBUG_PAGEALLOC"); + nl = 1; +#endif + if (nl) + printk("\n"); #ifdef CONFIG_KGDB /* This is about the only place we want to go to kgdb even if in * user mode. But we must go in via a trap so within kgdb we will