]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/blackfin/Kconfig.debug
Merge branch 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-omap-h63xx.git] / arch / blackfin / Kconfig.debug
index c468624d55f00614f627814f72e609a3565b34df..3ad25983ec9777c97478745652217812a2674202 100644 (file)
@@ -2,6 +2,22 @@ menu "Kernel hacking"
 
 source "lib/Kconfig.debug"
 
+config HAVE_ARCH_KGDB
+       def_bool y
+
+config DEBUG_VERBOSE
+       bool "Verbose fault messages"
+       default y
+       select PRINTK
+       help
+         When a program crashes due to an exception, or the kernel detects
+         an internal error, the kernel can print a not so brief message
+         explaining what the problem was. This debugging information is
+         useful to developers and kernel hackers when tracking down problems,
+         but mostly meaningless to other people. This is always helpful for
+         debugging but serves no purpose on a production system.
+         Most people should say N here.
+
 config DEBUG_MMRS
        bool "Generate Blackfin MMR tree"
        select DEBUG_FS
@@ -22,6 +38,44 @@ config DEBUG_HWERR
          hardware error interrupts and need to know where they are coming
          from.
 
+config DEBUG_DOUBLEFAULT
+       bool "Debug Double Faults"
+       default n
+       help
+         If an exception is caused while executing code within the exception
+         handler, the NMI handler, the reset vector, or in emulator mode,
+         a double fault occurs. On the Blackfin, this is a unrecoverable
+         event. You have two options:
+         - RESET exactly when double fault occurs. The excepting
+           instruction address is stored in RETX, where the next kernel
+           boot will print it out.
+         - Print debug message. This is much more error prone, although
+           easier to handle. It is error prone since:
+           - The excepting instruction is not committed.
+           - All writebacks from the instruction are prevented.
+           - The generated exception is not taken.
+           - The EXCAUSE field is updated with an unrecoverable event
+           The only way to check this is to see if EXCAUSE contains the
+           unrecoverable event value at every exception return. By selecting
+           this option, you are skipping over the faulting instruction, and 
+           hoping things stay together enough to print out a debug message.
+
+         This does add a little kernel code, but is the only method to debug
+         double faults - if unsure say "Y"
+
+choice
+       prompt "Double Fault Failure Method"
+       default DEBUG_DOUBLEFAULT_PRINT
+       depends on DEBUG_DOUBLEFAULT
+
+config DEBUG_DOUBLEFAULT_PRINT
+       bool "Print"
+
+config DEBUG_DOUBLEFAULT_RESET
+       bool "Reset"
+
+endchoice
+
 config DEBUG_ICACHE_CHECK
        bool "Check Instruction cache coherency"
        depends on DEBUG_KERNEL
@@ -143,6 +197,7 @@ config DEBUG_BFIN_NO_KERN_HWTRACE
 config EARLY_PRINTK
        bool "Early printk" 
        default n
+       select SERIAL_CORE_CONSOLE
        help
          This option enables special console drivers which allow the kernel
          to print messages very early in the bootup process.