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