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