Merge branch 'linus' into tracing/ftrace
[safe/jmp/linux-2.6] / arch / x86 / Kconfig.debug
index 38211ff..f395fd5 100644 (file)
@@ -5,6 +5,21 @@ config TRACE_IRQFLAGS_SUPPORT
 
 source "lib/Kconfig.debug"
 
+config NONPROMISC_DEVMEM
+       bool "Filter access to /dev/mem"
+       help
+         If this option is left off, you allow userspace access to all
+         of memory, including kernel and userspace memory. Accidental
+         access to this is obviously disastrous, but specific access can
+         be used by people debugging the kernel.
+
+         If this option is switched on, the /dev/mem file only allows
+         userspace access to PCI space and the BIOS code and data regions.
+         This is sufficient for dosemu and X and all common users of
+         /dev/mem.
+
+         If in doubt, say Y.
+
 config EARLY_PRINTK
        bool "Early printk" if EMBEDDED
        default y
@@ -34,14 +49,9 @@ config DEBUG_STACK_USAGE
 
          This option will slow down process creation somewhat.
 
-comment "Page alloc debug is incompatible with Software Suspend on i386"
-       depends on DEBUG_KERNEL && HIBERNATION
-       depends on X86_32
-
 config DEBUG_PAGEALLOC
        bool "Debug page memory allocations"
-       depends on DEBUG_KERNEL && !HIBERNATION && !HUGETLBFS
-       depends on X86_32
+       depends on DEBUG_KERNEL
        help
          Unmap pages from the kernel linear mapping after free_pages().
          This results in a large slowdown, but helps to find certain types
@@ -59,6 +69,18 @@ config DEBUG_PER_CPU_MAPS
 
          Say N if unsure.
 
+config X86_PTDUMP
+       bool "Export kernel pagetable layout to userspace via debugfs"
+       depends on DEBUG_KERNEL
+       select DEBUG_FS
+       help
+         Say Y here if you want to show the kernel pagetable layout in a
+         debugfs file. This information is only useful for kernel developers
+         who are working in architecture specific areas of the kernel.
+         It is probably not a good idea to enable this feature in a production
+         kernel.
+         If in doubt, say "N"
+
 config DEBUG_RODATA
        bool "Write protect kernel read-only data structures"
        default y
@@ -69,9 +91,36 @@ config DEBUG_RODATA
          data. This is recommended so that we can catch kernel bugs sooner.
          If in doubt, say "Y".
 
+config DIRECT_GBPAGES
+       bool "Enable gbpages-mapped kernel pagetables"
+       depends on DEBUG_KERNEL && EXPERIMENTAL && X86_64
+       help
+         Enable gigabyte pages support (if the CPU supports it). This can
+         improve the kernel's performance a tiny bit by reducing TLB
+         pressure.
+
+         This is experimental code.
+
+         If in doubt, say "N".
+
+config DEBUG_RODATA_TEST
+       bool "Testcase for the DEBUG_RODATA feature"
+       depends on DEBUG_RODATA
+       help
+         This option enables a testcase for the DEBUG_RODATA
+         feature as well as for the change_page_attr() infrastructure.
+         If in doubt, say "N"
+
+config DEBUG_NX_TEST
+       tristate "Testcase for the NX non-executable stack feature"
+       depends on DEBUG_KERNEL && m
+       help
+         This option enables a testcase for the CPU NX capability
+         and the software setup of this feature.
+         If in doubt, say "N"
+
 config 4KSTACKS
        bool "Use 4Kb for kernel stacks instead of 8Kb"
-       depends on DEBUG_KERNEL
        depends on X86_32
        help
          If you say Y here the kernel will use a 4Kb stacksize for the
@@ -123,6 +172,14 @@ config IOMMU_LEAK
          Add a simple leak tracer to the IOMMU code. This is useful when you
          are debugging a buggy device driver that leaks IOMMU mappings.
 
+config PAGE_FAULT_HANDLERS
+       bool "Custom page fault handlers"
+       depends on DEBUG_KERNEL
+       help
+         Allow the use of custom page fault handlers. A kernel module may
+         register a function that is called on every page fault. Custom
+         handlers are used by some debugging and reverse engineering tools.
+
 #
 # IO delay types:
 #
@@ -145,7 +202,7 @@ config IO_DELAY_TYPE_NONE
 
 choice
        prompt "IO delay type"
-       default IO_DELAY_0XED
+       default IO_DELAY_0X80
 
 config IO_DELAY_0X80
        bool "port 0x80 based port-IO delay [recommended]"
@@ -205,8 +262,23 @@ config DEBUG_BOOT_PARAMS
          This option will cause struct boot_params to be exported via debugfs.
 
 config CPA_DEBUG
-       bool "CPA self test code"
+       bool "CPA self-test code"
+       depends on DEBUG_KERNEL
        help
-         Do change_page_attr self tests at boot.
+         Do change_page_attr() self-tests every 30 seconds.
+
+config OPTIMIZE_INLINING
+       bool "Allow gcc to uninline functions marked 'inline'"
+       depends on BROKEN
+       help
+         This option determines if the kernel forces gcc to inline the functions
+         developers have marked 'inline'. Doing so takes away freedom from gcc to
+         do what it thinks is best, which is desirable for the gcc 3.x series of
+         compilers. The gcc 4.x series have a rewritten inlining algorithm and
+         disabling this option will generate a smaller kernel there. Hopefully
+         this algorithm is so good that allowing gcc4 to make the decision can
+         become the default in the future, until then this option is there to
+         test gcc for this.
 
 endmenu
+