linux/arch/blackfin/Kconfig.debug
<<
>>
Prefs
   1menu "Kernel hacking"
   2
   3source "lib/Kconfig.debug"
   4
   5config DEBUG_MMRS
   6        bool "Generate Blackfin MMR tree"
   7        select DEBUG_FS
   8        help
   9          Create a tree of Blackfin MMRs via the debugfs tree.  If
  10          you enable this, you will find all MMRs laid out in the
  11          /sys/kernel/debug/blackfin/ directory where you can read/write
  12          MMRs directly from userspace.  This is obviously just a debug
  13          feature.
  14
  15config DEBUG_HWERR
  16        bool "Hardware error interrupt debugging"
  17        depends on DEBUG_KERNEL
  18        help
  19          When enabled, the hardware error interrupt is never disabled, and
  20          will happen immediately when an error condition occurs.  This comes
  21          at a slight cost in code size, but is necessary if you are getting
  22          hardware error interrupts and need to know where they are coming
  23          from.
  24
  25config DEBUG_ICACHE_CHECK
  26        bool "Check Instruction cache coherency"
  27        depends on DEBUG_KERNEL
  28        depends on DEBUG_HWERR
  29        help
  30          Say Y here if you are getting weird unexplained errors. This will
  31          ensure that icache is what SDRAM says it should be by doing a
  32          byte wise comparison between SDRAM and instruction cache. This
  33          also relocates the irq_panic() function to L1 memory, (which is
  34          un-cached).
  35
  36config DEBUG_HUNT_FOR_ZERO
  37        bool "Catch NULL pointer reads/writes"
  38        default y
  39        help
  40          Say Y here to catch reads/writes to anywhere in the memory range
  41          from 0x0000 - 0x0FFF (the first 4k) of memory.  This is useful in
  42          catching common programming errors such as NULL pointer dereferences.
  43
  44          Misbehaving applications will be killed (generate a SEGV) while the
  45          kernel will trigger a panic.
  46
  47          Enabling this option will take up an extra entry in CPLB table.
  48          Otherwise, there is no extra overhead.
  49
  50config DEBUG_BFIN_HWTRACE_ON
  51        bool "Turn on Blackfin's Hardware Trace"
  52        default y
  53        help
  54          All Blackfins include a Trace Unit which stores a history of the last
  55          16 changes in program flow taken by the program sequencer. The history
  56          allows the user to recreate the program sequencer\xE2\x80\x99s recent path. This
  57          can be handy when an application dies - we print out the execution
  58          path of how it got to the offending instruction.
  59
  60          By turning this off, you may save a tiny amount of power.
  61
  62choice
  63        prompt "Omit loop Tracing"
  64        default DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
  65        depends on DEBUG_BFIN_HWTRACE_ON
  66        help
  67          The trace buffer can be configured to omit recording of changes in
  68          program flow that match either the last entry or one of the last
  69          two entries. Omitting one of these entries from the record prevents
  70          the trace buffer from overflowing because of any sort of loop (for, do
  71          while, etc) in the program.
  72
  73          Because zero-overhead Hardware loops are not recorded in the trace buffer,
  74          this feature can be used to prevent trace overflow from loops that
  75          are nested four deep.
  76
  77config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
  78        bool "Trace all Loops"
  79        help
  80          The trace buffer records all changes of flow 
  81
  82config DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
  83        bool "Compress single-level loops"
  84        help
  85          The trace buffer does not record single loops - helpful if trace 
  86          is spinning on a while or do loop.
  87
  88config DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
  89        bool "Compress two-level loops"
  90        help
  91          The trace buffer does not record loops two levels deep. Helpful if
  92          the trace is spinning in a nested loop
  93
  94endchoice
  95
  96config DEBUG_BFIN_HWTRACE_COMPRESSION
  97        int
  98        depends on DEBUG_BFIN_HWTRACE_ON
  99        default 0 if DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
 100        default 1 if DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
 101        default 2 if DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
 102
 103
 104config DEBUG_BFIN_HWTRACE_EXPAND
 105        bool "Expand Trace Buffer greater than 16 entries"
 106        depends on DEBUG_BFIN_HWTRACE_ON
 107        default n
 108        help
 109          By selecting this option, every time the 16 hardware entries in
 110          the Blackfin's HW Trace buffer are full, the kernel will move them
 111          into a software buffer, for dumping when there is an issue. This 
 112          has a great impact on performance, (an interrupt every 16 change of 
 113          flows) and should normally be turned off, except in those nasty
 114          debugging sessions
 115
 116config DEBUG_BFIN_HWTRACE_EXPAND_LEN
 117        int "Size of Trace buffer (in power of 2k)"
 118        range 0 4
 119        depends on DEBUG_BFIN_HWTRACE_EXPAND
 120        default 1
 121        help
 122          This sets the size of the software buffer that the trace information
 123          is kept in.
 124          0 for (2^0)  1k, or 256 entries,
 125          1 for (2^1)  2k, or 512 entries,
 126          2 for (2^2)  4k, or 1024 entries,
 127          3 for (2^3)  8k, or 2048 entries,
 128          4 for (2^4) 16k, or 4096 entries
 129
 130config DEBUG_BFIN_NO_KERN_HWTRACE
 131        bool "Trace user apps (turn off hwtrace in kernel)"
 132        depends on DEBUG_BFIN_HWTRACE_ON
 133        default n
 134        help
 135          Some pieces of the kernel contain a lot of flow changes which can
 136          quickly fill up the hardware trace buffer.  When debugging crashes,
 137          the hardware trace may indicate that the problem lies in kernel
 138          space when in reality an application is buggy.
 139
 140          Say Y here to disable hardware tracing in some known "jumpy" pieces
 141          of code so that the trace buffer will extend further back.
 142
 143config EARLY_PRINTK
 144        bool "Early printk" 
 145        default n
 146        help
 147          This option enables special console drivers which allow the kernel
 148          to print messages very early in the bootup process.
 149
 150          This is useful for kernel debugging when your machine crashes very
 151          early before the console code is initialized. After enabling this
 152          feature, you must add "earlyprintk=serial,uart0,57600" to the
 153          command line (bootargs). It is safe to say Y here in all cases, as
 154          all of this lives in the init section and is thrown away after the
 155          kernel boots completely.
 156
 157config CPLB_INFO
 158        bool "Display the CPLB information"
 159        help
 160          Display the CPLB information via /proc/cplbinfo.
 161
 162config ACCESS_CHECK
 163        bool "Check the user pointer address"
 164        default y
 165        help
 166          Usually the pointer transfer from user space is checked to see if its
 167          address is in the kernel space.
 168
 169          Say N here to disable that check to improve the performance.
 170
 171endmenu
 172