diff options
Diffstat (limited to 'arch/blackfin/kernel/traps.c')
-rw-r--r-- | arch/blackfin/kernel/traps.c | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index a58d0f50be20..114277bb46f8 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -27,16 +27,15 @@ | |||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include <asm/uaccess.h> | 30 | #include <linux/uaccess.h> |
31 | #include <linux/interrupt.h> | ||
32 | #include <linux/module.h> | ||
33 | #include <linux/kallsyms.h> | ||
31 | #include <asm/traps.h> | 34 | #include <asm/traps.h> |
32 | #include <asm/cacheflush.h> | 35 | #include <asm/cacheflush.h> |
33 | #include <asm/blackfin.h> | 36 | #include <asm/blackfin.h> |
34 | #include <asm/uaccess.h> | ||
35 | #include <asm/irq_handler.h> | 37 | #include <asm/irq_handler.h> |
36 | #include <asm/trace.h> | 38 | #include <asm/trace.h> |
37 | #include <linux/interrupt.h> | ||
38 | #include <linux/module.h> | ||
39 | #include <linux/kallsyms.h> | ||
40 | 39 | ||
41 | #ifdef CONFIG_KGDB | 40 | #ifdef CONFIG_KGDB |
42 | # include <linux/debugger.h> | 41 | # include <linux/debugger.h> |
@@ -77,7 +76,7 @@ static int printk_address(unsigned long address) | |||
77 | if (!modname) | 76 | if (!modname) |
78 | modname = delim = ""; | 77 | modname = delim = ""; |
79 | return printk("<0x%p> { %s%s%s%s + 0x%lx }", | 78 | return printk("<0x%p> { %s%s%s%s + 0x%lx }", |
80 | (void*)address, delim, modname, delim, symname, | 79 | (void *)address, delim, modname, delim, symname, |
81 | (unsigned long)offset); | 80 | (unsigned long)offset); |
82 | 81 | ||
83 | } | 82 | } |
@@ -120,7 +119,7 @@ static int printk_address(unsigned long address) | |||
120 | 119 | ||
121 | write_unlock_irq(&tasklist_lock); | 120 | write_unlock_irq(&tasklist_lock); |
122 | return printk("<0x%p> [ %s + 0x%lx ]", | 121 | return printk("<0x%p> [ %s + 0x%lx ]", |
123 | (void*)address, name, offset); | 122 | (void *)address, name, offset); |
124 | } | 123 | } |
125 | 124 | ||
126 | vml = vml->next; | 125 | vml = vml->next; |
@@ -129,7 +128,7 @@ static int printk_address(unsigned long address) | |||
129 | write_unlock_irq(&tasklist_lock); | 128 | write_unlock_irq(&tasklist_lock); |
130 | 129 | ||
131 | /* we were unable to find this address anywhere */ | 130 | /* we were unable to find this address anywhere */ |
132 | return printk("[<0x%p>]", (void*)address); | 131 | return printk("[<0x%p>]", (void *)address); |
133 | } | 132 | } |
134 | 133 | ||
135 | asmlinkage void trap_c(struct pt_regs *fp) | 134 | asmlinkage void trap_c(struct pt_regs *fp) |
@@ -538,29 +537,28 @@ void dump_bfin_regs(struct pt_regs *fp, void *retaddr) | |||
538 | printk(KERN_EMERG "TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n" | 537 | printk(KERN_EMERG "TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n" |
539 | KERN_EMERG "BSS = 0x%p-0x%p USER-STACK = 0x%p\n" | 538 | KERN_EMERG "BSS = 0x%p-0x%p USER-STACK = 0x%p\n" |
540 | KERN_EMERG "\n", | 539 | KERN_EMERG "\n", |
541 | (void*)current->mm->start_code, | 540 | (void *)current->mm->start_code, |
542 | (void*)current->mm->end_code, | 541 | (void *)current->mm->end_code, |
543 | (void*)current->mm->start_data, | 542 | (void *)current->mm->start_data, |
544 | (void*)current->mm->end_data, | 543 | (void *)current->mm->end_data, |
545 | (void*)current->mm->end_data, | 544 | (void *)current->mm->end_data, |
546 | (void*)current->mm->brk, | 545 | (void *)current->mm->brk, |
547 | (void*)current->mm->start_stack); | 546 | (void *)current->mm->start_stack); |
548 | } | 547 | } |
549 | 548 | ||
550 | printk(KERN_EMERG "return address: [0x%p]; contents of:", retaddr); | 549 | printk(KERN_EMERG "return address: [0x%p]; contents of:", retaddr); |
551 | if (retaddr != 0 && retaddr <= (void*)physical_mem_end | 550 | if (retaddr != 0 && retaddr <= (void *)physical_mem_end |
552 | #if L1_CODE_LENGTH != 0 | 551 | #if L1_CODE_LENGTH != 0 |
553 | /* FIXME: Copy the code out of L1 Instruction SRAM through dma | 552 | /* FIXME: Copy the code out of L1 Instruction SRAM through dma |
554 | memcpy. */ | 553 | memcpy. */ |
555 | && !(retaddr >= (void*)L1_CODE_START | 554 | && !(retaddr >= (void *)L1_CODE_START |
556 | && retaddr < (void*)(L1_CODE_START + L1_CODE_LENGTH)) | 555 | && retaddr < (void *)(L1_CODE_START + L1_CODE_LENGTH)) |
557 | #endif | 556 | #endif |
558 | ) { | 557 | ) { |
559 | int i = ((unsigned int)retaddr & 0xFFFFFFF0) - 32; | 558 | int i = ((unsigned int)retaddr & 0xFFFFFFF0) - 32; |
560 | unsigned short x = 0; | 559 | unsigned short x = 0; |
561 | for (; i < ((unsigned int)retaddr & 0xFFFFFFF0 ) + 32 ; | 560 | for (; i < ((unsigned int)retaddr & 0xFFFFFFF0) + 32; i += 2) { |
562 | i += 2) { | 561 | if (!(i & 0xF)) |
563 | if ( !(i & 0xF) ) | ||
564 | printk(KERN_EMERG "\n" KERN_EMERG | 562 | printk(KERN_EMERG "\n" KERN_EMERG |
565 | "0x%08x: ", i); | 563 | "0x%08x: ", i); |
566 | 564 | ||
@@ -579,7 +577,7 @@ void dump_bfin_regs(struct pt_regs *fp, void *retaddr) | |||
579 | " The rest of this error" | 577 | " The rest of this error" |
580 | " is meanless\n"); | 578 | " is meanless\n"); |
581 | #endif | 579 | #endif |
582 | if ( i == (unsigned int)retaddr ) | 580 | if (i == (unsigned int)retaddr) |
583 | printk("[%04x]", x); | 581 | printk("[%04x]", x); |
584 | else | 582 | else |
585 | printk(" %04x ", x); | 583 | printk(" %04x ", x); |
@@ -672,8 +670,8 @@ void panic_cplb_error(int cplb_panic, struct pt_regs *fp) | |||
672 | break; | 670 | break; |
673 | } | 671 | } |
674 | 672 | ||
675 | printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", (void*)bfin_read_DCPLB_FAULT_ADDR()); | 673 | printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", (void *)bfin_read_DCPLB_FAULT_ADDR()); |
676 | printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", (void*)bfin_read_ICPLB_FAULT_ADDR()); | 674 | printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", (void *)bfin_read_ICPLB_FAULT_ADDR()); |
677 | dump_bfin_regs(fp, (void *)fp->retx); | 675 | dump_bfin_regs(fp, (void *)fp->retx); |
678 | dump_stack(); | 676 | dump_stack(); |
679 | panic("Unrecoverable event\n"); | 677 | panic("Unrecoverable event\n"); |