Merge branch 'linus' into tracing/ftrace
[safe/jmp/linux-2.6] / arch / x86 / Kconfig.debug
index b747ab3..f395fd5 100644 (file)
@@ -5,8 +5,23 @@ 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 && DEBUG_KERNEL && X86_32
+       bool "Early printk" if EMBEDDED
        default y
        help
          Write kernel log output directly into the VGA buffer or to a serial
@@ -34,32 +49,78 @@ 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
          of memory corruptions.
 
+config DEBUG_PER_CPU_MAPS
+       bool "Debug access to per_cpu maps"
+       depends on DEBUG_KERNEL
+       depends on X86_64_SMP
+       default n
+       help
+         Say Y to verify that the per_cpu map being accessed has
+         been setup.  Adds a fair amount of code to kernel memory
+         and decreases performance.
+
+         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
        depends on DEBUG_KERNEL
        help
          Mark the kernel read-only data as write-protected in the pagetables,
          in order to catch accidental (and incorrect) writes to such const
-         data. This option may have a slight performance impact because a
-         portion of the kernel code won't be covered by a 2MB TLB anymore.
+         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
@@ -75,8 +136,7 @@ config X86_FIND_SMP_CONFIG
 
 config X86_MPPARSE
        def_bool y
-       depends on X86_LOCAL_APIC && !X86_VISWS
-       depends on X86_32
+       depends on (X86_32 && (X86_LOCAL_APIC && !X86_VISWS)) || X86_64
 
 config DOUBLEFAULT
        default y
@@ -112,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:
 #
@@ -134,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]"
@@ -186,4 +254,31 @@ config DEFAULT_IO_DELAY_TYPE
        default IO_DELAY_TYPE_NONE
 endif
 
+config DEBUG_BOOT_PARAMS
+       bool "Debug boot parameters"
+       depends on DEBUG_KERNEL
+       depends on DEBUG_FS
+       help
+         This option will cause struct boot_params to be exported via debugfs.
+
+config CPA_DEBUG
+       bool "CPA self-test code"
+       depends on DEBUG_KERNEL
+       help
+         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
+