diff options
Diffstat (limited to 'arch/blackfin/Kconfig.debug')
-rw-r--r-- | arch/blackfin/Kconfig.debug | 55 |
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 | ||
3 | source "lib/Kconfig.debug" | 3 | source "lib/Kconfig.debug" |
4 | 4 | ||
5 | config HAVE_ARCH_KGDB | ||
6 | def_bool y | ||
7 | |||
8 | config 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 | |||
5 | config DEBUG_MMRS | 21 | config 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 | ||
41 | config 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 | |||
66 | choice | ||
67 | prompt "Double Fault Failure Method" | ||
68 | default DEBUG_DOUBLEFAULT_PRINT | ||
69 | depends on DEBUG_DOUBLEFAULT | ||
70 | |||
71 | config DEBUG_DOUBLEFAULT_PRINT | ||
72 | bool "Print" | ||
73 | |||
74 | config DEBUG_DOUBLEFAULT_RESET | ||
75 | bool "Reset" | ||
76 | |||
77 | endchoice | ||
78 | |||
25 | config DEBUG_ICACHE_CHECK | 79 | config 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 | |||
143 | config EARLY_PRINTK | 197 | config 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. |