aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/Kconfig.debug
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/Kconfig.debug')
-rw-r--r--arch/blackfin/Kconfig.debug55
1 files changed, 55 insertions, 0 deletions
diff --git a/arch/blackfin/Kconfig.debug b/arch/blackfin/Kconfig.debug
index c468624d55f0..3ad25983ec97 100644
--- a/arch/blackfin/Kconfig.debug
+++ b/arch/blackfin/Kconfig.debug
@@ -2,6 +2,22 @@ menu "Kernel hacking"
2 2
3source "lib/Kconfig.debug" 3source "lib/Kconfig.debug"
4 4
5config HAVE_ARCH_KGDB
6 def_bool y
7
8config DEBUG_VERBOSE
9 bool "Verbose fault messages"
10 default y
11 select PRINTK
12 help
13 When a program crashes due to an exception, or the kernel detects
14 an internal error, the kernel can print a not so brief message
15 explaining what the problem was. This debugging information is
16 useful to developers and kernel hackers when tracking down problems,
17 but mostly meaningless to other people. This is always helpful for
18 debugging but serves no purpose on a production system.
19 Most people should say N here.
20
5config DEBUG_MMRS 21config DEBUG_MMRS
6 bool "Generate Blackfin MMR tree" 22 bool "Generate Blackfin MMR tree"
7 select DEBUG_FS 23 select DEBUG_FS
@@ -22,6 +38,44 @@ config DEBUG_HWERR
22 hardware error interrupts and need to know where they are coming 38 hardware error interrupts and need to know where they are coming
23 from. 39 from.
24 40
41config DEBUG_DOUBLEFAULT
42 bool "Debug Double Faults"
43 default n
44 help
45 If an exception is caused while executing code within the exception
46 handler, the NMI handler, the reset vector, or in emulator mode,
47 a double fault occurs. On the Blackfin, this is a unrecoverable
48 event. You have two options:
49 - RESET exactly when double fault occurs. The excepting
50 instruction address is stored in RETX, where the next kernel
51 boot will print it out.
52 - Print debug message. This is much more error prone, although
53 easier to handle. It is error prone since:
54 - The excepting instruction is not committed.
55 - All writebacks from the instruction are prevented.
56 - The generated exception is not taken.
57 - The EXCAUSE field is updated with an unrecoverable event
58 The only way to check this is to see if EXCAUSE contains the
59 unrecoverable event value at every exception return. By selecting
60 this option, you are skipping over the faulting instruction, and
61 hoping things stay together enough to print out a debug message.
62
63 This does add a little kernel code, but is the only method to debug
64 double faults - if unsure say "Y"
65
66choice
67 prompt "Double Fault Failure Method"
68 default DEBUG_DOUBLEFAULT_PRINT
69 depends on DEBUG_DOUBLEFAULT
70
71config DEBUG_DOUBLEFAULT_PRINT
72 bool "Print"
73
74config DEBUG_DOUBLEFAULT_RESET
75 bool "Reset"
76
77endchoice
78
25config DEBUG_ICACHE_CHECK 79config DEBUG_ICACHE_CHECK
26 bool "Check Instruction cache coherency" 80 bool "Check Instruction cache coherency"
27 depends on DEBUG_KERNEL 81 depends on DEBUG_KERNEL
@@ -143,6 +197,7 @@ config DEBUG_BFIN_NO_KERN_HWTRACE
143config EARLY_PRINTK 197config EARLY_PRINTK
144 bool "Early printk" 198 bool "Early printk"
145 default n 199 default n
200 select SERIAL_CORE_CONSOLE
146 help 201 help
147 This option enables special console drivers which allow the kernel 202 This option enables special console drivers which allow the kernel
148 to print messages very early in the bootup process. 203 to print messages very early in the bootup process.