aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/Kconfig.debug
diff options
context:
space:
mode:
authorRobin Getz <rgetz@blackfin.uclinux.org>2008-10-08 04:27:12 -0400
committerBryan Wu <cooloney@kernel.org>2008-10-08 04:27:12 -0400
commit0c7a6b2135c1bcb5139ca9ca87f292caafcb9410 (patch)
treeee1e8b36a4dba9120035ddac270e63ba91dc649c /arch/blackfin/Kconfig.debug
parentf4585a08479a730fb809606b8ee327a5398c117c (diff)
Blackfin arch: add supporting for double fault debug handling
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/Kconfig.debug')
-rw-r--r--arch/blackfin/Kconfig.debug38
1 files changed, 38 insertions, 0 deletions
diff --git a/arch/blackfin/Kconfig.debug b/arch/blackfin/Kconfig.debug
index c468624d55f0..0afa89818722 100644
--- a/arch/blackfin/Kconfig.debug
+++ b/arch/blackfin/Kconfig.debug
@@ -22,6 +22,44 @@ config DEBUG_HWERR
22 hardware error interrupts and need to know where they are coming 22 hardware error interrupts and need to know where they are coming
23 from. 23 from.
24 24
25config DEBUG_DOUBLEFAULT
26 bool "Debug Double Faults"
27 default n
28 help
29 If an exception is caused while executing code within the exception
30 handler, the NMI handler, the reset vector, or in emulator mode,
31 a double fault occurs. On the Blackfin, this is a unrecoverable
32 event. You have two options:
33 - RESET exactly when double fault occurs. The excepting
34 instruction address is stored in RETX, where the next kernel
35 boot will print it out.
36 - Print debug message. This is much more error prone, although
37 easier to handle. It is error prone since:
38 - The excepting instruction is not committed.
39 - All writebacks from the instruction are prevented.
40 - The generated exception is not taken.
41 - The EXCAUSE field is updated with an unrecoverable event
42 The only way to check this is to see if EXCAUSE contains the
43 unrecoverable event value at every exception return. By selecting
44 this option, you are skipping over the faulting instruction, and
45 hoping things stay together enough to print out a debug message.
46
47 This does add a little kernel code, but is the only method to debug
48 double faults - if unsure say "Y"
49
50choice
51 prompt "Double Fault Failure Method"
52 default DEBUG_DOUBLEFAULT_PRINT
53 depends on DEBUG_DOUBLEFAULT
54
55config DEBUG_DOUBLEFAULT_PRINT
56 bool "Print"
57
58config DEBUG_DOUBLEFAULT_RESET
59 bool "Reset"
60
61endchoice
62
25config DEBUG_ICACHE_CHECK 63config DEBUG_ICACHE_CHECK
26 bool "Check Instruction cache coherency" 64 bool "Check Instruction cache coherency"
27 depends on DEBUG_KERNEL 65 depends on DEBUG_KERNEL