]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - arch/powerpc/Kconfig.debug
KVM: Introduce kvm_memory_slot::arch and move lpage_info into it
[linux-2.6.git] / arch / powerpc / Kconfig.debug
index 50f48f0c5630dea049667a419b3e0fd28b9b9c2d..4ccb2a009f745f3477502964be609eeb14147cfa 100644 (file)
@@ -2,6 +2,32 @@ menu "Kernel hacking"
 
 source "lib/Kconfig.debug"
 
+config PPC_DISABLE_WERROR
+       bool "Don't build arch/powerpc code with -Werror"
+       default n
+       help
+         This option tells the compiler NOT to build the code under
+         arch/powerpc with the -Werror flag (which means warnings
+         are treated as errors).
+
+         Only enable this if you are hitting a build failure in the
+         arch/powerpc code caused by a warning, and you don't feel
+         inclined to fix it.
+
+config PPC_WERROR
+       bool
+       depends on !PPC_DISABLE_WERROR
+       default y
+
+config PRINT_STACK_DEPTH
+       int "Stack depth to print" if DEBUG_KERNEL
+       default 64
+       help
+         This option allows you to set the stack depth that the kernel
+         prints in stack traces. This can be useful if your display is
+         too small and stack traces cause important information to
+         scroll off the screen.
+
 config DEBUG_STACKOVERFLOW
        bool "Check for stack overflows"
        depends on DEBUG_KERNEL
@@ -9,21 +35,12 @@ config DEBUG_STACKOVERFLOW
          This option will cause messages to be printed if free stack space
          drops below a certain limit.
 
-config DEBUG_STACK_USAGE
-       bool "Stack utilization instrumentation"
-       depends on DEBUG_KERNEL
-       help
-         Enables the display of the minimum amount of free stack which each
-         task has ever had available in the sysrq-T and sysrq-P debug output.
-
-         This option will slow down process creation somewhat.
-
 config HCALL_STATS
        bool "Hypervisor call instrumentation"
-       depends on PPC_PSERIES && DEBUG_FS
+       depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
        help
          Adds code to keep track of the number of hypervisor calls made and
-         the amount of time spent in hypervisor callsr.  Wall time spent in
+         the amount of time spent in hypervisor calls.  Wall time spent in
          each call is always calculated, and if available CPU cycles spent
          are also calculated.  A directory named hcall_inst is added at the
          root of the debugfs filesystem.  Within the hcall_inst directory
@@ -32,52 +49,37 @@ config HCALL_STATS
          This option will add a small amount of overhead to all hypervisor
          calls.
 
-config DEBUGGER
-       bool "Enable debugger hooks"
-       depends on DEBUG_KERNEL
-       help
-         Include in-kernel hooks for kernel debuggers. Unless you are
-         intending to debug the kernel, say N here.
-
-config KGDB
-       bool "Include kgdb kernel debugger"
-       depends on DEBUGGER && (BROKEN || PPC_GEN550 || 4xx)
-       select DEBUG_INFO
+config PPC_EMULATED_STATS
+       bool "Emulated instructions tracking"
+       depends on DEBUG_FS
        help
-         Include in-kernel hooks for kgdb, the Linux kernel source level
-         debugger.  See <http://kgdb.sourceforge.net/> for more information.
-         Unless you are intending to debug the kernel, say N here.
-
-choice
-       prompt "Serial Port"
-       depends on KGDB
-       default KGDB_TTYS1
-
-config KGDB_TTYS0
-       bool "ttyS0"
-
-config KGDB_TTYS1
-       bool "ttyS1"
-
-config KGDB_TTYS2
-       bool "ttyS2"
-
-config KGDB_TTYS3
-       bool "ttyS3"
+         Adds code to keep track of the number of instructions that are
+         emulated by the in-kernel emulator. Counters for the various classes
+         of emulated instructions are available under
+         powerpc/emulated_instructions/ in the root of the debugfs file
+         system. Optionally (controlled by
+         powerpc/emulated_instructions/do_warn in debugfs), rate-limited
+         warnings can be printed to the console when instructions are
+         emulated.
+
+config CODE_PATCHING_SELFTEST
+       bool "Run self-tests of the code-patching code."
+       depends on DEBUG_KERNEL
+       default n
 
-endchoice
+config FTR_FIXUP_SELFTEST
+       bool "Run self-tests of the feature-fixup code."
+       depends on DEBUG_KERNEL
+       default n
 
-config KGDB_CONSOLE
-       bool "Enable serial console thru kgdb port"
-       depends on KGDB && 8xx || CPM2
-       help
-         If you enable this, all serial console messages will be sent
-         over the gdb stub.
-         If unsure, say N.
+config MSI_BITMAP_SELFTEST
+       bool "Run self-tests of the MSI bitmap code."
+       depends on DEBUG_KERNEL
+       default n
 
 config XMON
        bool "Include xmon kernel debugger"
-       depends on DEBUGGER
+       depends on DEBUG_KERNEL
        help
          Include in-kernel hooks for the xmon kernel monitor/debugger.
          Unless you are intending to debug the kernel, say N here.
@@ -107,13 +109,20 @@ config XMON_DISASSEMBLY
          to say Y here, unless you're building for a memory-constrained
          system.
 
-config IRQSTACKS
-       bool "Use separate kernel stacks when processing interrupts"
-       depends on PPC64
+config DEBUGGER
+       bool
+       depends on KGDB || XMON
+       default y
+
+config VIRQ_DEBUG
+       bool "Expose hardware/virtual IRQ mapping via debugfs"
+       depends on DEBUG_FS
        help
-         If you say Y here the kernel will use separate kernel stacks
-         for handling hard and soft interrupts.  This can help avoid
-         overflowing the process kernel stacks.
+         This option will show the mapping relationship between hardware irq
+         numbers and virtual irq numbers. The mapping is exposed via debugfs
+         in the file powerpc/virq_mapping.
+
+         If you don't know what this means you don't need it.
 
 config BDI_SWITCH
        bool "Include BDI-2000 user context switcher"
@@ -125,17 +134,20 @@ config BDI_SWITCH
 
 config BOOTX_TEXT
        bool "Support for early boot text console (BootX or OpenFirmware only)"
-       depends PPC_OF
+       depends on PPC_OF && PPC_BOOK3S
        help
          Say Y here to see progress messages from the boot firmware in text
          mode. Requires either BootX or Open Firmware.
 
-config SERIAL_TEXT_DEBUG
-       bool "Support for early boot texts over serial port"
-       depends on 4xx
-
 config PPC_EARLY_DEBUG
        bool "Early debugging (dangerous)"
+       help
+         Say Y to enable some early debugging facilities that may be available
+         for your processor/board combination. Those facilities are hacks
+         intended to debug problems early during boot, this should not be
+         enabled in a production kernel.
+         Note that enabling this will also cause the kernel default log level
+         to be pushed to max automatically very early during boot
 
 choice
        prompt "Early debugging console"
@@ -152,6 +164,13 @@ config PPC_EARLY_DEBUG_LPAR
          Select this to enable early debugging for a machine with a HVC
          console on vterm 0.
 
+config PPC_EARLY_DEBUG_LPAR_HVSI
+       bool "LPAR HVSI Console"
+       depends on PPC_PSERIES
+       help
+         Select this to enable early debugging for a machine with a HVSI
+         console on a specified vterm.
+
 config PPC_EARLY_DEBUG_G5
        bool "Apple G5"
        depends on PPC_PMAC64
@@ -198,6 +217,135 @@ config PPC_EARLY_DEBUG_BEAT
        help
          Select this to enable early debugging for Celleb with Beat.
 
+config PPC_EARLY_DEBUG_44x
+       bool "Early serial debugging for IBM/AMCC 44x CPUs"
+       # PPC_EARLY_DEBUG on 440 leaves AS=1 mappings above the TLB high water
+       # mark, which doesn't work with current 440 KVM.
+       depends on 44x && !KVM
+       help
+         Select this to enable early debugging for IBM 44x chips via the
+         inbuilt serial port.  If you enable this, ensure you set
+          PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
+
+config PPC_EARLY_DEBUG_40x
+       bool "Early serial debugging for IBM/AMCC 40x CPUs"
+       depends on 40x
+       help
+         Select this to enable early debugging for IBM 40x chips via the
+         inbuilt serial port. This works on chips with a 16550 compatible
+         UART. Xilinx chips with uartlite cannot use this option.
+
+config PPC_EARLY_DEBUG_CPM
+       bool "Early serial debugging for Freescale CPM-based serial ports"
+       depends on SERIAL_CPM
+       select PIN_TLB if PPC_8xx
+       help
+         Select this to enable early debugging for Freescale chips
+         using a CPM-based serial port.  This assumes that the bootwrapper
+         has run, and set up the CPM in a particular way.
+
+config PPC_EARLY_DEBUG_USBGECKO
+       bool "Early debugging through the USB Gecko adapter"
+       depends on GAMECUBE_COMMON
+       select USBGECKO_UDBG
+       help
+         Select this to enable early debugging for Nintendo GameCube/Wii
+         consoles via an external USB Gecko adapter.
+
+config PPC_EARLY_DEBUG_WSP
+       bool "Early debugging via WSP's internal UART"
+       depends on PPC_WSP
+       select PPC_UDBG_16550
+
+config PPC_EARLY_DEBUG_PS3GELIC
+       bool "Early debugging through the PS3 Ethernet port"
+       depends on PPC_PS3
+       select PS3GELIC_UDBG
+       help
+         Select this to enable early debugging for the PlayStation3 via
+         UDP broadcasts sent out through the Ethernet port.
+
+config PPC_EARLY_DEBUG_OPAL_RAW
+       bool "OPAL raw console"
+       depends on HVC_OPAL
+       help
+         Select this to enable early debugging for the PowerNV platform
+         using a "raw" console
+
+config PPC_EARLY_DEBUG_OPAL_HVSI
+       bool "OPAL hvsi console"
+       depends on HVC_OPAL
+       help
+         Select this to enable early debugging for the PowerNV platform
+         using an "hvsi" console
+
 endchoice
 
+config PPC_EARLY_DEBUG_OPAL
+       def_bool y
+       depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
+
+
+config PPC_EARLY_DEBUG_HVSI_VTERMNO
+       hex "vterm number to use with early debug HVSI"
+       depends on PPC_EARLY_DEBUG_LPAR_HVSI
+       default "0x30000000"
+       help
+         You probably want 0x30000000 for your first serial port and
+         0x30000001 for your second one
+
+config PPC_EARLY_DEBUG_OPAL_VTERMNO
+       hex "vterm number to use with OPAL early debug"
+       depends on PPC_EARLY_DEBUG_OPAL
+       default "0"
+       help
+         This correspond to which /dev/hvcN you want to use for early
+         debug.
+
+         On OPAL v1 (takeover) this should always be 0
+         On OPAL v2, this will be 0 for network console and 1 or 2 for
+         the machine built-in serial ports.
+
+config PPC_EARLY_DEBUG_44x_PHYSLOW
+       hex "Low 32 bits of early debug UART physical address"
+       depends on PPC_EARLY_DEBUG_44x
+       default "0x40000200"
+       help
+         You probably want 0x40000200 for ebony boards and
+          0x40000300 for taishan
+
+config PPC_EARLY_DEBUG_44x_PHYSHIGH
+       hex "EPRN of early debug UART physical address"
+       depends on PPC_EARLY_DEBUG_44x
+       default "0x1"
+
+config PPC_EARLY_DEBUG_40x_PHYSADDR
+       hex "Early debug UART physical address"
+       depends on PPC_EARLY_DEBUG_40x
+       default "0xef600300"
+
+config PPC_EARLY_DEBUG_CPM_ADDR
+       hex "CPM UART early debug transmit descriptor address"
+       depends on PPC_EARLY_DEBUG_CPM
+       default "0xfa202008" if PPC_EP88XC
+       default "0xf0001ff8" if CPM2
+       default "0xff002008" if CPM1
+       help
+         This specifies the address of the transmit descriptor
+         used for early debug output.  Because it is needed before
+         platform probing is done, all platforms selected must
+         share the same address.
+
+config STRICT_DEVMEM
+       def_bool y
+       prompt "Filter access to /dev/mem"
+       help
+         This option restricts access to /dev/mem.  If this option is
+         disabled, you allow userspace access to all memory, including
+         kernel and userspace memory. Accidental memory access is likely
+         to be disastrous.
+         Memory access is required for experts who want to debug the kernel.
+
+         If you are unsure, say Y.
+
 endmenu