3 config TRACE_IRQFLAGS_SUPPORT
6 source "lib/Kconfig.debug"
9 bool "Early printk" if EMBEDDED
12 Write kernel log output directly into the VGA buffer or to a serial
15 This is useful for kernel debugging when your machine crashes very
16 early before the console code is initialized. For normal operation
17 it is not recommended because it looks ugly and doesn't cooperate
18 with klogd/syslogd or the X server. You should normally N here,
19 unless you want to debug such a crash.
21 config DEBUG_STACKOVERFLOW
22 bool "Check for stack overflows"
23 depends on DEBUG_KERNEL
25 This option will cause messages to be printed if free stack space
26 drops below a certain limit.
28 config DEBUG_STACK_USAGE
29 bool "Stack utilization instrumentation"
30 depends on DEBUG_KERNEL
32 Enables the display of the minimum amount of free stack which each
33 task has ever had available in the sysrq-T and sysrq-P debug output.
35 This option will slow down process creation somewhat.
37 config DEBUG_PAGEALLOC
38 bool "Debug page memory allocations"
39 depends on DEBUG_KERNEL
41 Unmap pages from the kernel linear mapping after free_pages().
42 This results in a large slowdown, but helps to find certain types
43 of memory corruptions.
45 config DEBUG_PER_CPU_MAPS
46 bool "Debug access to per_cpu maps"
47 depends on DEBUG_KERNEL
51 Say Y to verify that the per_cpu map being accessed has
52 been setup. Adds a fair amount of code to kernel memory
53 and decreases performance.
58 bool "Write protect kernel read-only data structures"
60 depends on DEBUG_KERNEL
62 Mark the kernel read-only data as write-protected in the pagetables,
63 in order to catch accidental (and incorrect) writes to such const
64 data. This is recommended so that we can catch kernel bugs sooner.
67 config DEBUG_RODATA_TEST
68 bool "Testcase for the DEBUG_RODATA feature"
69 depends on DEBUG_RODATA
71 This option enables a testcase for the DEBUG_RODATA
72 feature as well as for the change_page_attr() infrastructure.
76 tristate "Testcase for the NX non-executable stack feature"
77 depends on DEBUG_KERNEL && m
79 This option enables a testcase for the CPU NX capability
80 and the software setup of this feature.
84 bool "Use 4Kb for kernel stacks instead of 8Kb"
85 depends on DEBUG_KERNEL
88 If you say Y here the kernel will use a 4Kb stacksize for the
89 kernel stack attached to each process/thread. This facilitates
90 running more threads on a system and also reduces the pressure
91 on the VM subsystem for higher order allocations. This option
92 will also use IRQ stacks to compensate for the reduced stackspace.
94 config X86_FIND_SMP_CONFIG
96 depends on X86_LOCAL_APIC || X86_VOYAGER
101 depends on (X86_32 && (X86_LOCAL_APIC && !X86_VISWS)) || X86_64
105 bool "Enable doublefault exception handler" if EMBEDDED
108 This option allows trapping of rare doublefault exceptions that
109 would otherwise cause a system to silently reboot. Disabling this
110 option saves about 4k and might cause you much additional grey
114 bool "Enable IOMMU debugging"
115 depends on GART_IOMMU && DEBUG_KERNEL
118 Force the IOMMU to on even when you have less than 4GB of
119 memory and add debugging code. On overflow always panic. And
120 allow to enable IOMMU leak tracing. Can be disabled at boot
121 time with iommu=noforce. This will also enable scatter gather
122 list merging. Currently not recommended for production
123 code. When you use it make sure you have a big enough
124 IOMMU/AGP aperture. Most of the options enabled by this can
125 be set more finegrained using the iommu= command line
126 options. See Documentation/x86_64/boot-options.txt for more
130 bool "IOMMU leak tracing"
131 depends on DEBUG_KERNEL
132 depends on IOMMU_DEBUG
134 Add a simple leak tracer to the IOMMU code. This is useful when you
135 are debugging a buggy device driver that leaks IOMMU mappings.
138 bool "Built-in Kernel Debugger support"
139 depends on DEBUG_KERNEL
143 This option provides a built-in kernel debugger. The built-in
144 kernel debugger contains commands which allow memory to be examined,
145 instructions to be disassembled and breakpoints to be set. For details,
146 see Documentation/kdb/kdb.mm and the manual pages kdb_bt, kdb_ss, etc.
147 Kdb can also be used via the serial port. Set up the system to
148 have a serial console (see Documentation/serial-console.txt).
149 The key sequence <escape>KDB on the serial port will cause the
150 kernel debugger to be entered with input from the serial port and
151 output to the serial console. If unsure, say N.
154 tristate "KDB modules"
157 KDB can be extended by adding your own modules, in directory
158 kdb/modules. This option selects the way that these modules should
159 be compiled, as free standing modules (select M) or built into the
160 kernel (select Y). If unsure say M.
163 bool "KDB off by default"
166 Normally kdb is activated by default, as long as CONFIG_KDB is set.
167 If you want to ship a kernel with kdb support but only have kdb
168 turned on when the user requests it then select this option. When
169 compiled with CONFIG_KDB_OFF, kdb ignores all events unless you boot
170 with kdb=on or you echo "1" > /proc/sys/kernel/kdb. This option also
171 works in reverse, if kdb is normally activated, you can boot with
172 kdb=off or echo "0" > /proc/sys/kernel/kdb to deactivate kdb. If
175 config KDB_CONTINUE_CATASTROPHIC
176 int "KDB continues after catastrophic errors"
180 This integer controls the behaviour of kdb when the kernel gets a
181 catastrophic error, i.e. for a panic, oops, NMI or other watchdog
182 tripping. CONFIG_KDB_CONTINUE_CATASTROPHIC interacts with
183 /proc/sys/kernel/kdb and CONFIG_LKCD_DUMP (if your kernel has the
185 When KDB is active (/proc/sys/kernel/kdb == 1) and a catastrophic
186 error occurs, nothing extra happens until you type 'go'.
187 CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default). The first time
188 you type 'go', kdb warns you. The second time you type 'go', KDB
189 tries to continue - no guarantees that the kernel is still usable.
190 CONFIG_KDB_CONTINUE_CATASTROPHIC == 1. KDB tries to continue - no
191 guarantees that the kernel is still usable.
192 CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. If your kernel has the LKCD
193 patch and LKCD is configured to take a dump then KDB forces a dump.
194 Whether or not a dump is taken, KDB forces a reboot.
195 When KDB is not active (/proc/sys/kernel/kdb == 0) and a catastrophic
196 error occurs, the following steps are automatic, no human
197 intervention is required.
198 CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default) or 1. KDB attempts
199 to continue - no guarantees that the kernel is still usable.
200 CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. If your kernel has the LKCD
201 patch and LKCD is configured to take a dump then KDB automatically
202 forces a dump. Whether or not a dump is taken, KDB forces a
204 If you are not sure, say 0. Read Documentation/kdb/dump.txt before
208 bool "Support for USB Keyboard in KDB (OHCI and/or EHCI only)"
209 depends on KDB && (USB_OHCI_HCD || USB_EHCI_HCD)
211 If you want to use kdb from USB keyboards then say Y here. If you
212 say N then kdb can only be used from a PC (AT) keyboard or a serial
219 config IO_DELAY_TYPE_0X80
223 config IO_DELAY_TYPE_0XED
227 config IO_DELAY_TYPE_UDELAY
231 config IO_DELAY_TYPE_NONE
236 prompt "IO delay type"
237 default IO_DELAY_0X80
240 bool "port 0x80 based port-IO delay [recommended]"
242 This is the traditional Linux IO delay used for in/out_p.
243 It is the most tested hence safest selection here.
246 bool "port 0xed based port-IO delay"
248 Use port 0xed as the IO delay. This frees up port 0x80 which is
249 often used as a hardware-debug port.
251 config IO_DELAY_UDELAY
252 bool "udelay based port-IO delay"
254 Use udelay(2) as the IO delay method. This provides the delay
255 while not having any side-effect on the IO port space.
258 bool "no port-IO delay"
260 No port-IO delay. Will break on old boxes that require port-IO
261 delay for certain operations. Should work on most new machines.
266 config DEFAULT_IO_DELAY_TYPE
268 default IO_DELAY_TYPE_0X80
272 config DEFAULT_IO_DELAY_TYPE
274 default IO_DELAY_TYPE_0XED
278 config DEFAULT_IO_DELAY_TYPE
280 default IO_DELAY_TYPE_UDELAY
284 config DEFAULT_IO_DELAY_TYPE
286 default IO_DELAY_TYPE_NONE
289 config DEBUG_BOOT_PARAMS
290 bool "Debug boot parameters"
291 depends on DEBUG_KERNEL
294 This option will cause struct boot_params to be exported via debugfs.
297 bool "CPA self-test code"
298 depends on DEBUG_KERNEL
300 Do change_page_attr() self-tests every 30 seconds.