On Mon, 15 Dec 2003 16:40:30 -0800, 
"Bruce Edge" <[EMAIL PROTECTED]> wrote:
>When I drop into kdb and do an 'sr c', I do not get that message:

As expected.

>I get it when I load a module that does a divide by zero:
>Code: f7 fb 89 c1 a1 10 c3 d2 c2 8b 00 83 e0 0f 83 f8 03 76 23 83=20
>This kernel supports KDB but LKCD was invoked directly, not via KDB.
>Falling back to the old and broken LKCD method of getting data from all cpus,
>do not be surprised if LKCD hangs.

You have a misapplied patch to arch/i386/kernel/traps.c.  It is calling
lkcd before kdb.  die() in arch/i386/kernel/traps.c should look like this.

void die(const char * str, struct pt_regs * regs, long err)
{
        console_verbose();
        spin_lock_irq(&die_lock);
        bust_spinlocks(1);
        handle_BUG(regs);
        printk("%s: %04lx\n", str, err & 0xffff);
        show_registers(regs);
        bust_spinlocks(0);
        spin_unlock_irq(&die_lock);
#ifdef  CONFIG_KDB
        kdb_diemsg = str;
        kdb(KDB_REASON_OOPS, err, regs);
#endif  /* CONFIG_KDB */
        dump((char *)str, regs);
        do_exit(SIGSEGV);
}

Note that dump() is called after kdb.

Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.

Reply via email to