diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-03-17 22:05:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-03-17 22:05:47 +0000 |
commit | 27cfca1ec98e91261b1a5355d10a8996464b63af (patch) | |
tree | 8e895a53e372fa682b4c0a585b9377d67ed70d0e /arch/ppc/kernel/traps.c | |
parent | 6a76fb7214c477ccf6582bd79c5b4ccc4f9c41b1 (diff) |
Look Ma' what I found on my harddisk ...
o New faster syscalls for 2.1.x, too
o Upgrade to 2.1.89.
Don't try to run this. It's flaky as hell. But feel free to debug ...
Diffstat (limited to 'arch/ppc/kernel/traps.c')
-rw-r--r-- | arch/ppc/kernel/traps.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/ppc/kernel/traps.c b/arch/ppc/kernel/traps.c index edfcb4d63..7199dd5c1 100644 --- a/arch/ppc/kernel/traps.c +++ b/arch/ppc/kernel/traps.c @@ -61,10 +61,10 @@ _exception(int signr, struct pt_regs *regs) if (!user_mode(regs)) { show_regs(regs); - print_backtrace((unsigned long *)regs->gpr[1]); #ifdef CONFIG_XMON xmon(regs); #endif + print_backtrace((unsigned long *)regs->gpr[1]); panic("Exception in kernel pc %lx signal %d",regs->nip,signr); } force_sig(signr, current); @@ -103,10 +103,10 @@ MachineCheckException(struct pt_regs *regs) printk("Unknown values in msr\n"); } show_regs(regs); - print_backtrace((unsigned long *)regs->gpr[1]); #ifdef CONFIG_XMON xmon(regs); #endif + print_backtrace((unsigned long *)regs->gpr[1]); panic("machine check"); } _exception(SIGSEGV, regs); @@ -186,15 +186,16 @@ AlignmentException(struct pt_regs *regs) } void -PromException(struct pt_regs *regs, int trap) +StackOverflow(struct pt_regs *regs) { - regs->trap = trap; + printk(KERN_CRIT "Kernel stack overflow in process %p, r1=%lx\n", + current, regs->gpr[1]); #ifdef CONFIG_XMON xmon(regs); #endif - printk("Exception %lx in prom at PC: %lx, SR: %lx\n", - regs->trap, regs->nip, regs->msr); - /* probably should turn up the toes here */ + show_regs(regs); + print_backtrace((unsigned long *)regs->gpr[1]); + panic("kernel stack overflow"); } void |