basic modification from way back
[powerpc.git] / lib / Kconfig.debug
index 6eccc64..ee05b8a 100644 (file)
@@ -47,28 +47,44 @@ config UNUSED_SYMBOLS
          you really need it, and what the merge plan to the mainline kernel for
          your module is.
 
+config DEBUG_FS
+       bool "Debug Filesystem"
+       depends on SYSFS
+       help
+         debugfs is a virtual file system that kernel developers use to put
+         debugging files into.  Enable this option to be able to read and
+         write to these files.
+
+         If unsure, say N.
+
+config HEADERS_CHECK
+       bool "Run 'make headers_check' when building vmlinux"
+       depends on !UML
+       help
+         This option will extract the user-visible kernel headers whenever
+         building the kernel, and will run basic sanity checks on them to
+         ensure that exported files do not attempt to include files which
+         were not exported, etc.
+
+         If you're making modifications to header files which are
+         relevant for userspace, say 'Y', and check the headers
+         exported to $(INSTALL_HDR_PATH) (usually 'usr/include' in
+         your build tree), to make sure they're suitable.
+
 config DEBUG_KERNEL
        bool "Kernel debugging"
        help
          Say Y here if you are developing drivers or trying to debug and
          identify kernel problems.
 
-config LOG_BUF_SHIFT
-       int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
-       range 12 21
-       default 17 if S390 || LOCKDEP
-       default 16 if X86_NUMAQ || IA64
-       default 15 if SMP
-       default 14
-       help
-         Select kernel log buffer size as a power of 2.
-         Defaults and Examples:
-                    17 => 128 KB for S/390
-                    16 => 64 KB for x86 NUMAQ or IA-64
-                    15 => 32 KB for SMP
-                    14 => 16 KB for uniprocessor
-                    13 =>  8 KB
-                    12 =>  4 KB
+config DEBUG_SHIRQ
+       bool "Debug shared IRQ handlers"
+       depends on DEBUG_KERNEL && GENERIC_HARDIRQS
+       help
+         Enable this to generate a spurious interrupt as soon as a shared
+         interrupt handler is registered, and just before one is deregistered.
+         Drivers ought to be able to handle interrupts coming in at those
+         points; some don't and need to be caught.
 
 config DETECT_SOFTLOCKUP
        bool "Detect Soft Lockups"
@@ -101,6 +117,17 @@ config SCHEDSTATS
          application, you can say N to avoid the very slight overhead
          this adds.
 
+config TIMER_STATS
+       bool "Collect kernel timers statistics"
+       depends on DEBUG_KERNEL && PROC_FS
+       help
+         If you say Y here, additional code will be inserted into the
+         timer routines to collect statistics about kernel timers being
+         reprogrammed. The statistics can be read from /proc/timer_stats.
+         The statistics collection is started by writing 1 to /proc/timer_stats,
+         writing 0 stops it. This feature is useful to collect information
+         about timer usage patterns in kernel and userspace.
+
 config DEBUG_SLAB
        bool "Debug slab memory allocations"
        depends on DEBUG_KERNEL && SLAB
@@ -157,19 +184,21 @@ config DEBUG_MUTEXES
         This feature allows mutex semantics violations to be detected and
         reported.
 
-config DEBUG_RWSEMS
-       bool "RW-sem debugging: basic checks"
+config DEBUG_SEMAPHORE
+       bool "Semaphore debugging"
        depends on DEBUG_KERNEL
+       depends on ALPHA || FRV
+       default n
        help
-        This feature allows read-write semaphore semantics violations to
-        be detected and reported.
+         If you say Y here then semaphore processing will issue lots of
+         verbose debugging messages.  If you suspect a semaphore problem or a
+         kernel hacker asks for this option then say Y.  Otherwise say N.
 
 config DEBUG_LOCK_ALLOC
        bool "Lock debugging: detect incorrect freeing of live locks"
        depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
        select DEBUG_SPINLOCK
        select DEBUG_MUTEXES
-       select DEBUG_RWSEMS
        select LOCKDEP
        help
         This feature will check whether any held lock (spinlock, rwlock,
@@ -185,7 +214,6 @@ config PROVE_LOCKING
        select LOCKDEP
        select DEBUG_SPINLOCK
        select DEBUG_MUTEXES
-       select DEBUG_RWSEMS
        select DEBUG_LOCK_ALLOC
        default n
        help
@@ -226,7 +254,7 @@ config LOCKDEP
        bool
        depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
        select STACKTRACE
-       select FRAME_POINTER if !X86
+       select FRAME_POINTER if !X86 && !MIPS
        select KALLSYMS
        select KALLSYMS_ALL
 
@@ -285,7 +313,7 @@ config DEBUG_HIGHMEM
 config DEBUG_BUGVERBOSE
        bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
        depends on BUG
-       depends on ARM || ARM26 || AVR32 || M32R || M68K || SPARC32 || SPARC64 || FRV || SUPERH || GENERIC_BUG
+       depends on ARM || ARM26 || AVR32 || M32R || M68K || SPARC32 || SPARC64 || FRV || SUPERH || GENERIC_BUG || BFIN
        default !EMBEDDED
        help
          Say Y here to make BUG() panics output the file name and line number
@@ -298,20 +326,13 @@ config DEBUG_INFO
        help
           If you say Y here the resulting kernel image will include
          debugging info resulting in a larger kernel image.
+         This adds debug symbols to the kernel and modules (gcc -g), and
+         is needed if you intend to use kernel crashdump or binary object
+         tools like crash, kgdb, LKCD, gdb, etc on the kernel.
          Say Y here only if you plan to debug the kernel.
 
          If unsure, say N.
 
-config DEBUG_FS
-       bool "Debug Filesystem"
-       depends on SYSFS
-       help
-         debugfs is a virtual file system that kernel developers use to put
-         debugging files into.  Enable this option to be able to read and
-         write to these files.
-
-         If unsure, say N.
-
 config DEBUG_VM
        bool "Debug VM"
        depends on DEBUG_KERNEL
@@ -332,7 +353,7 @@ config DEBUG_LIST
 
 config FRAME_POINTER
        bool "Compile the kernel with frame pointers"
-       depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML || S390 || AVR32 || SUPERH)
+       depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML || S390 || AVR32 || SUPERH || BFIN)
        default y if DEBUG_INFO && UML
        help
          If you say Y here the resulting kernel image will be slightly larger
@@ -340,24 +361,6 @@ config FRAME_POINTER
          some architectures or if you use external debuggers.
          If you don't debug the kernel, you can say N.
 
-config UNWIND_INFO
-       bool "Compile the kernel with frame unwind information"
-       depends on !IA64 && !PARISC && !ARM
-       depends on !MODULES || !(MIPS || PPC || SUPERH || V850)
-       help
-         If you say Y here the resulting kernel image will be slightly larger
-         but not slower, and it will give very useful debugging information.
-         If you don't debug the kernel, you can say N, but we may not be able
-         to solve problems without frame unwind information or frame pointers.
-
-config STACK_UNWIND
-       bool "Stack unwind support"
-       depends on UNWIND_INFO
-       depends on X86
-       help
-         This enables more precise stack traces, omitting all unrelated
-         occurrences of pointers into kernel code from the dump.
-
 config FORCED_INLINING
        bool "Force gcc to inline functions marked 'inline'"
        depends on DEBUG_KERNEL
@@ -372,20 +375,6 @@ config FORCED_INLINING
          become the default in the future, until then this option is there to
          test gcc for this.
 
-config HEADERS_CHECK
-       bool "Run 'make headers_check' when building vmlinux"
-       depends on !UML
-       help
-         This option will extract the user-visible kernel headers whenever
-         building the kernel, and will run basic sanity checks on them to
-         ensure that exported files do not attempt to include files which
-         were not exported, etc.
-
-         If you're making modifications to header files which are
-         relevant for userspace, say 'Y', and check the headers
-         exported to $(INSTALL_HDR_PATH) (usually 'usr/include' in
-         your build tree), to make sure they're suitable.
-
 config RCU_TORTURE_TEST
        tristate "torture tests for RCU"
        depends on DEBUG_KERNEL
@@ -402,6 +391,7 @@ config RCU_TORTURE_TEST
 
 config LKDTM
        tristate "Linux Kernel Dump Test Tool Module"
+       depends on DEBUG_KERNEL
        depends on KPROBES
        default n
        help
@@ -417,8 +407,6 @@ config LKDTM
 config FAULT_INJECTION
        bool "Fault-injection framework"
        depends on DEBUG_KERNEL
-       depends on STACKTRACE
-       select FRAME_POINTER
        help
          Provide fault-injection framework.
          For more details, see Documentation/fault-injection/.
@@ -436,7 +424,7 @@ config FAIL_PAGE_ALLOC
          Provide fault-injection capability for alloc_pages().
 
 config FAIL_MAKE_REQUEST
-       bool "Fault-injection capabilitiy for disk IO"
+       bool "Fault-injection capability for disk IO"
        depends on FAULT_INJECTION
        help
          Provide fault-injection capability for disk IO.
@@ -446,3 +434,11 @@ config FAULT_INJECTION_DEBUG_FS
        depends on FAULT_INJECTION && SYSFS && DEBUG_FS
        help
          Enable configuration of fault-injection capabilities via debugfs.
+
+config FAULT_INJECTION_STACKTRACE_FILTER
+       bool "stacktrace filter for fault-injection capabilities"
+       depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
+       select STACKTRACE
+       select FRAME_POINTER
+       help
+         Provide stacktrace filter for fault-injection capabilities