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 EARLY_PRINTK
58         bool "Early printk" if EMBEDDED
59         default y
60         help
61           Write kernel log output directly into the VGA buffer or to a serial
62           port.
63
64           This is useful for kernel debugging when your machine crashes very
65           early before the console code is initialized. For normal operation
66           it is not recommended because it looks ugly and doesn't cooperate
67           with klogd/syslogd or the X server. You should normally N here,
68           unless you want to debug such a crash.
69
70 config X86_FIND_SMP_CONFIG
71         bool
72         depends on X86_LOCAL_APIC || X86_VOYAGER
73         default y
74
75 config X86_MPPARSE
76         bool
77         depends on X86_LOCAL_APIC && !X86_VISWS
78         default y
79
80 config EARLY_PRINTK
81         bool "Early printk" if EMBEDDED
82         default y
83         help
84           Write kernel log output directly into the VGA buffer or to a serial
85           port.
86
87           This is useful for kernel debugging when your machine crashes very
88           early before the console code is initialized. For normal operation
89           it is not recommended because it looks ugly and doesn't cooperate
90           with klogd/syslogd or the X server. You should normally N here,
91           unless you want to debug such a crash.
92
93 config KPROBES
94         bool "Kprobes"
95         depends on DEBUG_KERNEL
96         help
97           Kprobes allows you to trap at almost any kernel address and
98           execute a callback function.  register_kprobe() establishes
99           a probepoint and specifies the callback.  Kprobes is useful
100           for kernel debugging, non-intrusive instrumentation and testing.
101           If in doubt, say "N".
102
103 config DEBUG_PAGEALLOC
104         bool "Page alloc debugging"
105         depends on DEBUG_KERNEL
106         help
107           Unmap pages from the kernel linear mapping after free_pages().
108           This results in a large slowdown, but helps to find certain types
109           of memory corruptions.
110
111 config DEBUG_STACKOVERFLOW
112         bool "Check for stack overflows"
113         depends on DEBUG_KERNEL
114
115 config DEBUG_STACK_USAGE
116         bool "Stack utilization instrumentation"
117         depends on DEBUG_KERNEL
118         help
119           Enables the display of the minimum amount of free stack which each
120           task has ever had available in the sysrq-T and sysrq-P debug output.
121
122           This option will slow down process creation somewhat.
123
124 config IRQSTACKS
125         bool "Use separate IRQ stacks"
126         help
127         This option subsumes the IRQ stack implementation of the orig. 4KSTACK
128         support.  You must use this if you select 4KB stacks! 
129
130 config STACK_SIZE_SHIFT
131         int "Kernel stack size (12 => 4KB, 13 => 8KB, 14 => 16KB)"
132         range 12 14
133         default 12 if IRQSTACKS
134         default 13
135         help
136         Select kernel stack size.  4KB stacks are best as they let
137         the system scale further.  Use 8KB stacks if you have an 
138         experimental kernel where a stack overlow with a 4KB stack
139         might occur.  Use 16KB stacks if you want to safely support
140         Windows device drivers using either Linuxant or ndiswrapper.
141
142 config STACK_WARN
143         int "Print stack trace when stack grows beyond specified bytes"
144         default 4096 if IRQSTACKS
145         default 4096
146         help
147         The kernel will print a stack trace when the current stack exceeds
148         the specified size.
149
150 config X86_STACK_CHECK
151         bool "Check for stack overflows"
152         default n
153         help
154         Say Y here to have the kernel attempt to detect when the per-task
155         kernel stack overflows.
156
157         Some older versions of gcc don't handle the -p option correctly.
158         Kernprof is affected by the same problem, which is described here:
159         http://oss.sgi.com/projects/kernprof/faq.html#Q9
160
161         Basically, if you get oopses in __free_pages_ok during boot when
162         you have this turned on, you need to fix gcc. The Redhat 2.96
163         version and gcc-3.x seem to work.
164
165         If not debugging a stack overflow problem, say N
166
167 config STACK_PANIC
168         int "Panic when stack approaches with specified bytes of the stack limit"
169         depends on X86_STACK_CHECK
170         default 512 if IRQSTACKS
171         default 512
172         help
173         Panic if the stack grows to within specified byte range.
174
175 config DEBUG_PAGEALLOC
176         bool "Page alloc debugging"
177         depends on DEBUG_KERNEL
178         help
179           Unmap pages from the kernel linear mapping after free_pages().
180           This results in a large slowdown, but helps to find certain types
181           of memory corruptions.
182
183 config SCHEDSTATS
184         bool "Collect scheduler statistics"
185         depends on DEBUG_KERNEL && PROC_FS
186         help
187           If you say Y here, additional code will be inserted into the
188           scheduler and related routines to collect statistics about
189           scheduler behavior and provide them in /proc/schedstat.  These
190           stats may be useful for both tuning and debugging the scheduler
191           If you aren't debugging the scheduler or trying to tune a specific
192           application, you can say N to avoid the very slight overhead
193           this adds.
194
195 config X86_FIND_SMP_CONFIG
196         bool
197         depends on X86_LOCAL_APIC || X86_VOYAGER
198         default y
199
200 config X86_MPPARSE
201         bool
202         depends on X86_LOCAL_APIC && !X86_VISWS
203         default y
204
205 endmenu