diff options
author | Robin Getz <robin.getz@analog.com> | 2010-03-29 10:07:33 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-05-22 14:19:07 -0400 |
commit | a80d5f449d1794d8e402f28cf3e1e9b57cb9f2d4 (patch) | |
tree | 72d01ce134703d40197a6c66b5c5811fdc717f59 | |
parent | a6d9dbf5e4daaf21b33917a809a5ac1e7bce9e05 (diff) |
Blackfin: handle HW errors in the new "FAULT" printing code
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r-- | arch/blackfin/kernel/trace.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/trace.c b/arch/blackfin/kernel/trace.c index 317d4273ca60..59fcdf6b0138 100644 --- a/arch/blackfin/kernel/trace.c +++ b/arch/blackfin/kernel/trace.c | |||
@@ -672,6 +672,15 @@ void dump_bfin_trace_buffer(void) | |||
672 | * the trace buffer, (since it doesn't commit), so | 672 | * the trace buffer, (since it doesn't commit), so |
673 | * we print out the fault address here | 673 | * we print out the fault address here |
674 | */ | 674 | */ |
675 | if (!fault && addr == ((unsigned short *)evt_ivhw)) { | ||
676 | addr = (unsigned short *)bfin_read_TBUF(); | ||
677 | decode_address(buf, (unsigned long)addr); | ||
678 | pr_notice(" FAULT : %s ", buf); | ||
679 | decode_instruction(addr); | ||
680 | pr_cont("\n"); | ||
681 | fault = 1; | ||
682 | continue; | ||
683 | } | ||
675 | if (!fault && addr == (unsigned short *)trap && | 684 | if (!fault && addr == (unsigned short *)trap && |
676 | (cpu_pda[cpu].seqstat & SEQSTAT_EXCAUSE) > VEC_EXCPT15) { | 685 | (cpu_pda[cpu].seqstat & SEQSTAT_EXCAUSE) > VEC_EXCPT15) { |
677 | decode_address(buf, cpu_pda[cpu].icplb_fault_addr); | 686 | decode_address(buf, cpu_pda[cpu].icplb_fault_addr); |