Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / arch / x86 / Kconfig.debug
1 menu "Kernel hacking"
2
3 config TRACE_IRQFLAGS_SUPPORT
4         def_bool y
5
6 source "lib/Kconfig.debug"
7
8 config EARLY_PRINTK
9         bool "Early printk" if EMBEDDED && DEBUG_KERNEL
10         default y
11         depends on X86_32
12         help
13           Write kernel log output directly into the VGA buffer or to a serial
14           port.
15
16           This is useful for kernel debugging when your machine crashes very
17           early before the console code is initialized. For normal operation
18           it is not recommended because it looks ugly and doesn't cooperate
19           with klogd/syslogd or the X server. You should normally N here,
20           unless you want to debug such a crash.
21
22 config DEBUG_STACKOVERFLOW
23         bool "Check for stack overflows"
24         depends on DEBUG_KERNEL
25         help
26           This option will cause messages to be printed if free stack space
27           drops below a certain limit.
28
29 config DEBUG_STACK_USAGE
30         bool "Stack utilization instrumentation"
31         depends on DEBUG_KERNEL
32         help
33           Enables the display of the minimum amount of free stack which each
34           task has ever had available in the sysrq-T and sysrq-P debug output.
35
36           This option will slow down process creation somewhat.
37
38 comment "Page alloc debug is incompatible with Software Suspend on i386"
39         depends on DEBUG_KERNEL && HIBERNATION
40         depends on X86_32
41
42 config DEBUG_PAGEALLOC
43         bool "Debug page memory allocations"
44         depends on DEBUG_KERNEL && !HIBERNATION && !HUGETLBFS
45         depends on X86_32
46         help
47           Unmap pages from the kernel linear mapping after free_pages().
48           This results in a large slowdown, but helps to find certain types
49           of memory corruptions.
50
51 config DEBUG_RODATA
52         bool "Write protect kernel read-only data structures"
53         depends on DEBUG_KERNEL
54         help
55           Mark the kernel read-only data as write-protected in the pagetables,
56           in order to catch accidental (and incorrect) writes to such const
57           data. This option may have a slight performance impact because a
58           portion of the kernel code won't be covered by a 2MB TLB anymore.
59           If in doubt, say "N".
60
61 config 4KSTACKS
62         bool "Use 4Kb for kernel stacks instead of 8Kb"
63         depends on DEBUG_KERNEL
64         depends on X86_32
65         help
66           If you say Y here the kernel will use a 4Kb stacksize for the
67           kernel stack attached to each process/thread. This facilitates
68           running more threads on a system and also reduces the pressure
69           on the VM subsystem for higher order allocations. This option
70           will also use IRQ stacks to compensate for the reduced stackspace.
71
72 config X86_FIND_SMP_CONFIG
73         def_bool y
74         depends on X86_LOCAL_APIC || X86_VOYAGER
75         depends on X86_32
76
77 config X86_MPPARSE
78         def_bool y
79         depends on X86_LOCAL_APIC && !X86_VISWS
80         depends on X86_32
81
82 config DOUBLEFAULT
83         default y
84         bool "Enable doublefault exception handler" if EMBEDDED
85         depends on X86_32
86         help
87           This option allows trapping of rare doublefault exceptions that
88           would otherwise cause a system to silently reboot. Disabling this
89           option saves about 4k and might cause you much additional grey
90           hair.
91
92 config IOMMU_DEBUG
93         bool "Enable IOMMU debugging"
94         depends on IOMMU && DEBUG_KERNEL
95         depends on X86_64
96         help
97           Force the IOMMU to on even when you have less than 4GB of
98           memory and add debugging code. On overflow always panic. And
99           allow to enable IOMMU leak tracing. Can be disabled at boot
100           time with iommu=noforce. This will also enable scatter gather
101           list merging.  Currently not recommended for production
102           code. When you use it make sure you have a big enough
103           IOMMU/AGP aperture.  Most of the options enabled by this can
104           be set more finegrained using the iommu= command line
105           options. See Documentation/x86_64/boot-options.txt for more
106           details.
107
108 config IOMMU_LEAK
109         bool "IOMMU leak tracing"
110         depends on DEBUG_KERNEL
111         depends on IOMMU_DEBUG
112         help
113           Add a simple leak tracer to the IOMMU code. This is useful when you
114           are debugging a buggy device driver that leaks IOMMU mappings.
115
116 #config X86_REMOTE_DEBUG
117 #       bool "kgdb debugging stub"
118
119 endmenu