diff options
author | David S. Miller <davem@davemloft.net> | 2009-08-12 20:44:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-12 20:44:53 -0400 |
commit | aa11d958d1a6572eda08214d7c6a735804fe48a5 (patch) | |
tree | d025b05270ad1e010660d17eeadc6ac3c1abbd7d /arch/mn10300/kernel/traps.c | |
parent | 07f6642ee9418e962e54cbc07471cfe2e559c568 (diff) | |
parent | 9799218ae36910af50f002a5db1802d576fffb43 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
arch/microblaze/include/asm/socket.h
Diffstat (limited to 'arch/mn10300/kernel/traps.c')
-rw-r--r-- | arch/mn10300/kernel/traps.c | 22 |
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"); |