aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300/kernel/traps.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mn10300/kernel/traps.c')
-rw-r--r--arch/mn10300/kernel/traps.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/arch/mn10300/kernel/traps.c b/arch/mn10300/kernel/traps.c
index 681ad8c9e4fb..91365adba4f5 100644
--- a/arch/mn10300/kernel/traps.c
+++ b/arch/mn10300/kernel/traps.c
@@ -17,7 +17,6 @@
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/mm.h> 18#include <linux/mm.h>
19#include <linux/smp.h> 19#include <linux/smp.h>
20#include <linux/smp_lock.h>
21#include <linux/init.h> 20#include <linux/init.h>
22#include <linux/delay.h> 21#include <linux/delay.h>
23#include <linux/spinlock.h> 22#include <linux/spinlock.h>
@@ -136,8 +135,7 @@ void show_trace(unsigned long *sp)
136 unsigned long *stack, addr, module_start, module_end; 135 unsigned long *stack, addr, module_start, module_end;
137 int i; 136 int i;
138 137
139 printk(KERN_EMERG "\n" 138 printk(KERN_EMERG "\nCall Trace:");
140 KERN_EMERG "Call Trace:");
141 139
142 stack = sp; 140 stack = sp;
143 i = 0; 141 i = 0;
@@ -153,7 +151,7 @@ void show_trace(unsigned long *sp)
153 printk("\n"); 151 printk("\n");
154#else 152#else
155 if ((i % 6) == 0) 153 if ((i % 6) == 0)
156 printk("\n" KERN_EMERG " "); 154 printk(KERN_EMERG " ");
157 printk("[<%08lx>] ", addr); 155 printk("[<%08lx>] ", addr);
158 i++; 156 i++;
159#endif 157#endif
@@ -180,7 +178,7 @@ void show_stack(struct task_struct *task, unsigned long *sp)
180 if (((long) stack & (THREAD_SIZE - 1)) == 0) 178 if (((long) stack & (THREAD_SIZE - 1)) == 0)
181 break; 179 break;
182 if ((i % 8) == 0) 180 if ((i % 8) == 0)
183 printk("\n" KERN_EMERG " "); 181 printk(KERN_EMERG " ");
184 printk("%08lx ", *stack++); 182 printk("%08lx ", *stack++);
185 } 183 }
186 184
@@ -264,8 +262,7 @@ void show_registers(struct pt_regs *regs)
264 show_stack(current, (unsigned long *) sp); 262 show_stack(current, (unsigned long *) sp);
265 263
266#if 0 264#if 0
267 printk(KERN_EMERG "\n" 265 printk(KERN_EMERG "\nCode: ");
268 KERN_EMERG "Code: ");
269 if (regs->pc < PAGE_OFFSET) 266 if (regs->pc < PAGE_OFFSET)
270 goto bad; 267 goto bad;
271 268
@@ -311,16 +308,14 @@ void die(const char *str, struct pt_regs *regs, enum exception_code code)
311{ 308{
312 console_verbose(); 309 console_verbose();
313 spin_lock_irq(&die_lock); 310 spin_lock_irq(&die_lock);
314 printk(KERN_EMERG "\n" 311 printk(KERN_EMERG "\n%s: %04x\n",
315 KERN_EMERG "%s: %04x\n",
316 str, code & 0xffff); 312 str, code & 0xffff);
317 show_registers(regs); 313 show_registers(regs);
318 314
319 if (regs->pc >= 0x02000000 && regs->pc < 0x04000000 && 315 if (regs->pc >= 0x02000000 && regs->pc < 0x04000000 &&
320 (regs->epsw & (EPSW_IM | EPSW_IE)) != (EPSW_IM | EPSW_IE)) { 316 (regs->epsw & (EPSW_IM | EPSW_IE)) != (EPSW_IM | EPSW_IE)) {
321 printk(KERN_EMERG "Exception in usermode interrupt handler\n"); 317 printk(KERN_EMERG "Exception in usermode interrupt handler\n");
322 printk(KERN_EMERG "\n" 318 printk(KERN_EMERG "\nPlease connect to kernel debugger !!\n");
323 KERN_EMERG " Please connect to kernel debugger !!\n");
324 asm volatile ("0: bra 0b"); 319 asm volatile ("0: bra 0b");
325 } 320 }
326 321
@@ -429,9 +424,8 @@ asmlinkage void io_bus_error(u32 bcberr, u32 bcbear, struct pt_regs *regs)
429{ 424{
430 console_verbose(); 425 console_verbose();
431 426
432 printk(KERN_EMERG "\n" 427 printk(KERN_EMERG "Asynchronous I/O Bus Error\n");
433 KERN_EMERG "Asynchronous I/O Bus Error\n" 428 printk(KERN_EMERG "==========================\n");
434 KERN_EMERG "==========================\n");
435 429
436 if (bcberr & BCBERR_BEME) 430 if (bcberr & BCBERR_BEME)
437 printk(KERN_EMERG "- Multiple recorded errors\n"); 431 printk(KERN_EMERG "- Multiple recorded errors\n");