This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / i386 / Kconfig.debug
1 menu "Kernel hacking"
2
3 source "lib/Kconfig.debug"
4
5 config CRASH_DUMP
6         tristate "Crash dump support (EXPERIMENTAL)"
7         depends on EXPERIMENTAL
8         default n
9         ---help---
10           Say Y here to enable saving an image of system memory when a panic
11           or other error occurs. Dumps can also be forced with the SysRq+d
12           key if MAGIC_SYSRQ is enabled.
13
14 config CRASH_DUMP_BLOCKDEV
15         tristate "Crash dump block device driver"
16         depends on CRASH_DUMP
17         help
18           Say Y to allow saving crash dumps directly to a disk device.
19
20 config CRASH_DUMP_NETDEV
21         tristate "Crash dump network device driver"
22         depends on CRASH_DUMP
23         help
24           Say Y to allow saving crash dumps over a network device.
25
26 config CRASH_DUMP_MEMDEV
27         bool "Crash dump staged memory driver"
28         depends on CRASH_DUMP
29         help
30           Say Y to allow intermediate saving crash dumps in spare 
31           memory pages which would then be written out to disk
32           later.
33
34 config CRASH_DUMP_SOFTBOOT
35         bool "Save crash dump across a soft reboot"
36         depends on CRASH_DUMP_MEMDEV
37         help
38           Say Y to allow a crash dump to be preserved in memory
39           pages across a soft reboot and written out to disk
40           thereafter. For this to work, CRASH_DUMP must be 
41           configured as part of the kernel (not as a module).
42
43 config CRASH_DUMP_COMPRESS_RLE
44         tristate "Crash dump RLE compression"
45         depends on CRASH_DUMP
46         help
47           Say Y to allow saving dumps with Run Length Encoding compression.
48
49 config CRASH_DUMP_COMPRESS_GZIP
50         tristate "Crash dump GZIP compression"
51         select ZLIB_INFLATE
52         select ZLIB_DEFLATE
53         depends on CRASH_DUMP
54         help
55           Say Y to allow saving dumps with Gnu Zip compression.
56
57 config X86_FIND_SMP_CONFIG
58         bool
59         depends on X86_LOCAL_APIC || X86_VOYAGER
60         default y
61
62 config X86_MPPARSE
63         bool
64         depends on X86_LOCAL_APIC && !X86_VISWS
65         default y
66
67 config EARLY_PRINTK
68         bool "Early printk" if EMBEDDED
69         default y
70         help
71           Write kernel log output directly into the VGA buffer or to a serial
72           port.
73
74           This is useful for kernel debugging when your machine crashes very
75           early before the console code is initialized. For normal operation
76           it is not recommended because it looks ugly and doesn't cooperate
77           with klogd/syslogd or the X server. You should normally N here,
78           unless you want to debug such a crash.
79
80 config KPROBES
81         bool "Kprobes"
82         depends on DEBUG_KERNEL
83         help
84           Kprobes allows you to trap at almost any kernel address and
85           execute a callback function.  register_kprobe() establishes
86           a probepoint and specifies the callback.  Kprobes is useful
87           for kernel debugging, non-intrusive instrumentation and testing.
88           If in doubt, say "N".
89
90 config DEBUG_PAGEALLOC
91         bool "Page alloc debugging"
92         depends on DEBUG_KERNEL
93         help
94           Unmap pages from the kernel linear mapping after free_pages().
95           This results in a large slowdown, but helps to find certain types
96           of memory corruptions.
97
98 config DEBUG_STACKOVERFLOW
99         bool "Check for stack overflows"
100         depends on DEBUG_KERNEL
101
102 config DEBUG_STACK_USAGE
103         bool "Stack utilization instrumentation"
104         depends on DEBUG_KERNEL
105         help
106           Enables the display of the minimum amount of free stack which each
107           task has ever had available in the sysrq-T and sysrq-P debug output.
108
109           This option will slow down process creation somewhat.
110
111 config IRQSTACKS
112         bool "Use separate IRQ stacks"
113         help
114         This option subsumes the IRQ stack implementation of the orig. 4KSTACK
115         support.  You must use this if you select 4KB stacks! 
116
117 config STACK_SIZE_SHIFT
118         int "Kernel stack size (12 => 4KB, 13 => 8KB, 14 => 16KB)"
119         range 12 14
120         default 12 if IRQSTACKS
121         default 13
122         help
123         Select kernel stack size.  4KB stacks are best as they let
124         the system scale further.  Use 8KB stacks if you have an 
125         experimental kernel where a stack overlow with a 4KB stack
126         might occur.  Use 16KB stacks if you want to safely support
127         Windows device drivers using either Linuxant or ndiswrapper.
128
129 config STACK_WARN
130         int "Print stack trace when stack grows beyond specified bytes"
131         default 4096 if IRQSTACKS
132         default 4096
133         help
134         The kernel will print a stack trace when the current stack exceeds
135         the specified size.
136
137 config X86_STACK_CHECK
138         bool "Aggressively check for stack overflows"
139         default n
140         help
141         Say Y here to have the kernel attempt to detect when the per-task
142         kernel stack overflows.
143
144         Some older versions of gcc don't handle the -p option correctly.
145         Kernprof is affected by the same problem, which is described here:
146         http://oss.sgi.com/projects/kernprof/faq.html#Q9
147
148         Basically, if you get oopses in __free_pages_ok during boot when
149         you have this turned on, you need to fix gcc. The Redhat 2.96
150         version and gcc-3.x seem to work.
151
152         If not debugging a stack overflow problem, say N
153
154 config STACK_PANIC
155         int "Panic when stack approaches with specified bytes of the stack limit"
156         depends on X86_STACK_CHECK
157         default 512 if IRQSTACKS
158         default 512
159         help
160         Panic if the stack grows to within specified byte range.
161
162 config DEBUG_PAGEALLOC
163         bool "Page alloc debugging"
164         depends on DEBUG_KERNEL
165         help
166           Unmap pages from the kernel linear mapping after free_pages().
167           This results in a large slowdown, but helps to find certain types
168           of memory corruptions.
169
170 config SCHEDSTATS
171         bool "Collect scheduler statistics"
172         depends on DEBUG_KERNEL && PROC_FS
173         help
174           If you say Y here, additional code will be inserted into the
175           scheduler and related routines to collect statistics about
176           scheduler behavior and provide them in /proc/schedstat.  These
177           stats may be useful for both tuning and debugging the scheduler
178           If you aren't debugging the scheduler or trying to tune a specific
179           application, you can say N to avoid the very slight overhead
180           this adds.
181
182 config X86_FIND_SMP_CONFIG
183         bool
184         depends on X86_LOCAL_APIC || X86_VOYAGER
185         default y
186
187 config X86_MPPARSE
188         bool
189         depends on X86_LOCAL_APIC && !X86_VISWS
190         default y
191
192 endmenu