diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-04-17 10:50:36 -0400 |
---|---|---|
committer | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-04-17 10:50:36 -0400 |
commit | 652a12ef98d16ccd1ee5cdf2c832ce5411ed3262 (patch) | |
tree | fb4202396bed56574c68f5b516eeb85846e88c6a /arch/arm/kernel/traps.c | |
parent | 58c02ec4701c94c671a41e1e5d50c582e859851f (diff) |
[PATCH] ARM: showregs
Fix show_regs() to provide a backtrace. Provide a new __show_regs()
function which implements the common subset of show_regs() and die().
Add prototypes to asm-arm/system.h
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/traps.c')
-rw-r--r-- | arch/arm/kernel/traps.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 93dc4646cd7f..6e31718f6008 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -31,9 +31,6 @@ | |||
31 | 31 | ||
32 | #include "ptrace.h" | 32 | #include "ptrace.h" |
33 | 33 | ||
34 | extern void c_backtrace (unsigned long fp, int pmode); | ||
35 | extern void show_pte(struct mm_struct *mm, unsigned long addr); | ||
36 | |||
37 | const char *processor_modes[]= | 34 | const char *processor_modes[]= |
38 | { "USER_26", "FIQ_26" , "IRQ_26" , "SVC_26" , "UK4_26" , "UK5_26" , "UK6_26" , "UK7_26" , | 35 | { "USER_26", "FIQ_26" , "IRQ_26" , "SVC_26" , "UK4_26" , "UK5_26" , "UK6_26" , "UK7_26" , |
39 | "UK8_26" , "UK9_26" , "UK10_26", "UK11_26", "UK12_26", "UK13_26", "UK14_26", "UK15_26", | 36 | "UK8_26" , "UK9_26" , "UK10_26", "UK11_26", "UK12_26", "UK13_26", "UK14_26", "UK15_26", |
@@ -216,8 +213,7 @@ NORET_TYPE void die(const char *str, struct pt_regs *regs, int err) | |||
216 | 213 | ||
217 | printk("Internal error: %s: %x [#%d]\n", str, err, ++die_counter); | 214 | printk("Internal error: %s: %x [#%d]\n", str, err, ++die_counter); |
218 | print_modules(); | 215 | print_modules(); |
219 | printk("CPU: %d\n", smp_processor_id()); | 216 | __show_regs(regs); |
220 | show_regs(regs); | ||
221 | printk("Process %s (pid: %d, stack limit = 0x%p)\n", | 217 | printk("Process %s (pid: %d, stack limit = 0x%p)\n", |
222 | tsk->comm, tsk->pid, tsk->thread_info + 1); | 218 | tsk->comm, tsk->pid, tsk->thread_info + 1); |
223 | 219 | ||
@@ -482,7 +478,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) | |||
482 | current->pid, current->comm, no); | 478 | current->pid, current->comm, no); |
483 | dump_instr(regs); | 479 | dump_instr(regs); |
484 | if (user_mode(regs)) { | 480 | if (user_mode(regs)) { |
485 | show_regs(regs); | 481 | __show_regs(regs); |
486 | c_backtrace(regs->ARM_fp, processor_mode(regs)); | 482 | c_backtrace(regs->ARM_fp, processor_mode(regs)); |
487 | } | 483 | } |
488 | } | 484 | } |