linux/arch/powerpc/Kconfig.debug
<<
>>
Prefs
   1menu "Kernel hacking"
   2
   3source "lib/Kconfig.debug"
   4
   5config PRINT_STACK_DEPTH
   6        int "Stack depth to print" if DEBUG_KERNEL
   7        default 64
   8        help
   9          This option allows you to set the stack depth that the kernel
  10          prints in stack traces. This can be useful if your display is
  11          too small and stack traces cause important information to
  12          scroll off the screen.
  13
  14config DEBUG_STACKOVERFLOW
  15        bool "Check for stack overflows"
  16        depends on DEBUG_KERNEL
  17        help
  18          This option will cause messages to be printed if free stack space
  19          drops below a certain limit.
  20
  21config DEBUG_STACK_USAGE
  22        bool "Stack utilization instrumentation"
  23        depends on DEBUG_KERNEL
  24        help
  25          Enables the display of the minimum amount of free stack which each
  26          task has ever had available in the sysrq-T and sysrq-P debug output.
  27
  28          This option will slow down process creation somewhat.
  29
  30config HCALL_STATS
  31        bool "Hypervisor call instrumentation"
  32        depends on PPC_PSERIES && DEBUG_FS
  33        help
  34          Adds code to keep track of the number of hypervisor calls made and
  35          the amount of time spent in hypervisor calls.  Wall time spent in
  36          each call is always calculated, and if available CPU cycles spent
  37          are also calculated.  A directory named hcall_inst is added at the
  38          root of the debugfs filesystem.  Within the hcall_inst directory
  39          are files that contain CPU specific call statistics.
  40
  41          This option will add a small amount of overhead to all hypervisor
  42          calls.
  43
  44config CODE_PATCHING_SELFTEST
  45        bool "Run self-tests of the code-patching code."
  46        depends on DEBUG_KERNEL
  47        default n
  48
  49config FTR_FIXUP_SELFTEST
  50        bool "Run self-tests of the feature-fixup code."
  51        depends on DEBUG_KERNEL
  52        default n
  53
  54config MSI_BITMAP_SELFTEST
  55        bool "Run self-tests of the MSI bitmap code."
  56        depends on DEBUG_KERNEL
  57        default n
  58
  59config XMON
  60        bool "Include xmon kernel debugger"
  61        depends on DEBUG_KERNEL
  62        help
  63          Include in-kernel hooks for the xmon kernel monitor/debugger.
  64          Unless you are intending to debug the kernel, say N here.
  65          Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
  66          nothing will appear on the screen (xmon writes directly to the
  67          framebuffer memory).
  68          The cmdline option 'xmon' or 'xmon=early' will drop into xmon
  69          very early during boot. 'xmon=on' will just enable the xmon
  70          debugger hooks.  'xmon=off' will disable the debugger hooks
  71          if CONFIG_XMON_DEFAULT is set.
  72          xmon will print a backtrace on the very first invocation.
  73          'xmon=nobt' will disable this autobacktrace.
  74
  75config XMON_DEFAULT
  76        bool "Enable xmon by default"
  77        depends on XMON
  78        help
  79          xmon is normally disabled unless booted with 'xmon=on'.
  80          Use 'xmon=off' to disable xmon init during runtime.
  81
  82config XMON_DISASSEMBLY
  83        bool "Include disassembly support in xmon"
  84        depends on XMON
  85        default y
  86        help
  87          Include support for disassembling in xmon. You probably want
  88          to say Y here, unless you're building for a memory-constrained
  89          system.
  90
  91config DEBUGGER
  92        bool
  93        depends on KGDB || XMON
  94        default y
  95
  96config IRQSTACKS
  97        bool "Use separate kernel stacks when processing interrupts"
  98        help
  99          If you say Y here the kernel will use separate kernel stacks
 100          for handling hard and soft interrupts.  This can help avoid
 101          overflowing the process kernel stacks.
 102
 103config VIRQ_DEBUG
 104        bool "Expose hardware/virtual IRQ mapping via debugfs"
 105        depends on DEBUG_FS
 106        help
 107          This option will show the mapping relationship between hardware irq
 108          numbers and virtual irq numbers. The mapping is exposed via debugfs
 109          in the file powerpc/virq_mapping.
 110
 111          If you don't know what this means you don't need it.
 112
 113config BDI_SWITCH
 114        bool "Include BDI-2000 user context switcher"
 115        depends on DEBUG_KERNEL && PPC32
 116        help
 117          Include in-kernel support for the Abatron BDI2000 debugger.
 118          Unless you are intending to debug the kernel with one of these
 119          machines, say N here.
 120
 121config BOOTX_TEXT
 122        bool "Support for early boot text console (BootX or OpenFirmware only)"
 123        depends on PPC_OF && PPC_BOOK3S
 124        help
 125          Say Y here to see progress messages from the boot firmware in text
 126          mode. Requires either BootX or Open Firmware.
 127
 128config PPC_EARLY_DEBUG
 129        bool "Early debugging (dangerous)"
 130        # PPC_EARLY_DEBUG on 440 leaves AS=1 mappings above the TLB high water
 131        # mark, which doesn't work with current 440 KVM.
 132        depends on !KVM
 133        help
 134          Say Y to enable some early debugging facilities that may be available
 135          for your processor/board combination. Those facilities are hacks
 136          intended to debug problems early during boot, this should not be
 137          enabled in a production kernel.
 138          Note that enabling this will also cause the kernel default log level
 139          to be pushed to max automatically very early during boot
 140
 141choice
 142        prompt "Early debugging console"
 143        depends on PPC_EARLY_DEBUG
 144        help
 145          Use the selected console for early debugging. Careful, if you
 146          enable debugging for the wrong type of machine your kernel
 147          _will not boot_.
 148
 149config PPC_EARLY_DEBUG_LPAR
 150        bool "LPAR HV Console"
 151        depends on PPC_PSERIES
 152        help
 153          Select this to enable early debugging for a machine with a HVC
 154          console on vterm 0.
 155
 156config PPC_EARLY_DEBUG_G5
 157        bool "Apple G5"
 158        depends on PPC_PMAC64
 159        help
 160          Select this to enable early debugging for Apple G5 machines.
 161
 162config PPC_EARLY_DEBUG_RTAS_PANEL
 163        bool "RTAS Panel"
 164        depends on PPC_RTAS
 165        help
 166          Select this to enable early debugging via the RTAS panel.
 167
 168config PPC_EARLY_DEBUG_RTAS_CONSOLE
 169        bool "RTAS Console"
 170        depends on PPC_RTAS
 171        select UDBG_RTAS_CONSOLE
 172        help
 173          Select this to enable early debugging via the RTAS console.
 174
 175config PPC_EARLY_DEBUG_MAPLE
 176        bool "Maple real mode"
 177        depends on PPC_MAPLE
 178        help
 179          Select this to enable early debugging for Maple.
 180
 181config PPC_EARLY_DEBUG_ISERIES
 182        bool "iSeries HV Console"
 183        depends on PPC_ISERIES
 184        help
 185          Select this to enable early debugging for legacy iSeries. You need
 186          to hit "Ctrl-x Ctrl-x" to see the messages on the console.
 187
 188config PPC_EARLY_DEBUG_PAS_REALMODE
 189        bool "PA Semi real mode"
 190        depends on PPC_PASEMI
 191        help
 192          Select this to enable early debugging for PA Semi.
 193          Output will be on UART0.
 194
 195config PPC_EARLY_DEBUG_BEAT
 196        bool "Beat HV Console"
 197        depends on PPC_CELLEB
 198        select PPC_UDBG_BEAT
 199        help
 200          Select this to enable early debugging for Celleb with Beat.
 201
 202config PPC_EARLY_DEBUG_44x
 203        bool "Early serial debugging for IBM/AMCC 44x CPUs"
 204        depends on 44x
 205        help
 206          Select this to enable early debugging for IBM 44x chips via the
 207          inbuilt serial port.  If you enable this, ensure you set
 208          PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
 209
 210config PPC_EARLY_DEBUG_40x
 211        bool "Early serial debugging for IBM/AMCC 40x CPUs"
 212        depends on 40x
 213        help
 214          Select this to enable early debugging for IBM 40x chips via the
 215          inbuilt serial port. This works on chips with a 16550 compatible
 216          UART. Xilinx chips with uartlite cannot use this option.
 217
 218config PPC_EARLY_DEBUG_CPM
 219        bool "Early serial debugging for Freescale CPM-based serial ports"
 220        depends on SERIAL_CPM
 221        select PIN_TLB if PPC_8xx
 222        help
 223          Select this to enable early debugging for Freescale chips
 224          using a CPM-based serial port.  This assumes that the bootwrapper
 225          has run, and set up the CPM in a particular way.
 226
 227endchoice
 228
 229config PPC_EARLY_DEBUG_44x_PHYSLOW
 230        hex "Low 32 bits of early debug UART physical address"
 231        depends on PPC_EARLY_DEBUG_44x
 232        default "0x40000200"
 233        help
 234          You probably want 0x40000200 for ebony boards and
 235          0x40000300 for taishan
 236
 237config PPC_EARLY_DEBUG_44x_PHYSHIGH
 238        hex "EPRN of early debug UART physical address"
 239        depends on PPC_EARLY_DEBUG_44x
 240        default "0x1"
 241
 242config PPC_EARLY_DEBUG_40x_PHYSADDR
 243        hex "Early debug UART physical address"
 244        depends on PPC_EARLY_DEBUG_40x
 245        default "0xef600300"
 246
 247config PPC_EARLY_DEBUG_CPM_ADDR
 248        hex "CPM UART early debug transmit descriptor address"
 249        depends on PPC_EARLY_DEBUG_CPM
 250        default "0xfa202008" if PPC_EP88XC
 251        default "0xf0001ff8" if CPM2
 252        default "0xff002008" if CPM1
 253        help
 254          This specifies the address of the transmit descriptor
 255          used for early debug output.  Because it is needed before
 256          platform probing is done, all platforms selected must
 257          share the same address.
 258
 259endmenu
 260