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