summaryrefslogtreecommitdiffstats
path: root/arch/ppc/kernel/traps.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-03-17 22:05:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-03-17 22:05:47 +0000
commit27cfca1ec98e91261b1a5355d10a8996464b63af (patch)
tree8e895a53e372fa682b4c0a585b9377d67ed70d0e /arch/ppc/kernel/traps.c
parent6a76fb7214c477ccf6582bd79c5b4ccc4f9c41b1 (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.c15
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