Blame view

arch/x86/Kconfig.debug 9.14 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
  menu "Kernel hacking"
55f327fa9   Ingo Molnar   [PATCH] lockdep: ...
2
  config TRACE_IRQFLAGS_SUPPORT
d013a27cb   Randy Dunlap   x86: unification ...
3
  	def_bool y
55f327fa9   Ingo Molnar   [PATCH] lockdep: ...
4

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
5
  source "lib/Kconfig.debug"
d092633bf   Ingo Molnar   Subject: devmem, ...
6
  config STRICT_DEVMEM
16104b550   Stefan Richter   x86: fix CONFIG_N...
7
  	bool "Filter access to /dev/mem"
8f9ca475c   Ingo Molnar   x86: clean up arc...
8
  	---help---
f2d0f1dea   Linus Torvalds   x86: Fix help mes...
9
  	  If this option is disabled, you allow userspace (root) access to all
16104b550   Stefan Richter   x86: fix CONFIG_N...
10
11
  	  of memory, including kernel and userspace memory. Accidental
  	  access to this is obviously disastrous, but specific access can
d092633bf   Ingo Molnar   Subject: devmem, ...
12
13
14
  	  be used by people debugging the kernel. Note that with PAT support
  	  enabled, even in this case there are restrictions on /dev/mem
  	  use due to the cache aliasing requirements.
16104b550   Stefan Richter   x86: fix CONFIG_N...
15
16
17
18
19
20
21
  
  	  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.
ae531c26c   Arjan van de Ven   x86: introduce /d...
22

6bcb13b35   Ben Collins   x86: config optio...
23
24
25
  config X86_VERBOSE_BOOTUP
  	bool "Enable verbose x86 bootup info messages"
  	default y
8f9ca475c   Ingo Molnar   x86: clean up arc...
26
  	---help---
6bcb13b35   Ben Collins   x86: config optio...
27
28
29
  	  Enables the informational output from the decompression stage
  	  (e.g. bzImage) of the boot. If you disable this you will still
  	  see errors. Disable this if you want silent bootup.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
30
  config EARLY_PRINTK
076f9776f   Ingo Molnar   x86: make early p...
31
  	bool "Early printk" if EMBEDDED
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
32
  	default y
8f9ca475c   Ingo Molnar   x86: clean up arc...
33
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
34
35
36
37
38
39
40
41
  	  Write kernel log output directly into the VGA buffer or to a serial
  	  port.
  
  	  This is useful for kernel debugging when your machine crashes very
  	  early before the console code is initialized. For normal operation
  	  it is not recommended because it looks ugly and doesn't cooperate
  	  with klogd/syslogd or the X server. You should normally N here,
  	  unless you want to debug such a crash.
5c05917e7   Yinghai Lu   x86: usb debug po...
42
43
  config EARLY_PRINTK_DBGP
  	bool "Early printk via EHCI debug port"
9749986a8   Ingo Molnar   x86: usb debug po...
44
  	depends on EARLY_PRINTK && PCI
8f9ca475c   Ingo Molnar   x86: clean up arc...
45
  	---help---
5c05917e7   Yinghai Lu   x86: usb debug po...
46
47
48
49
50
51
52
  	  Write kernel log output directly into the EHCI debug port.
  
  	  This is useful for kernel debugging when your machine crashes very
  	  early before the console code is initialized. For normal operation
  	  it is not recommended because it looks ugly and doesn't cooperate
  	  with klogd/syslogd or the X server. You should normally N here,
  	  unless you want to debug such a crash. You need usb debug device.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
53
54
55
  config DEBUG_STACKOVERFLOW
  	bool "Check for stack overflows"
  	depends on DEBUG_KERNEL
8f9ca475c   Ingo Molnar   x86: clean up arc...
56
  	---help---
dab175f39   Adrian Bunk   [PATCH] i386: add...
57
58
  	  This option will cause messages to be printed if free stack space
  	  drops below a certain limit.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
59

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
60
61
62
  config DEBUG_STACK_USAGE
  	bool "Stack utilization instrumentation"
  	depends on DEBUG_KERNEL
8f9ca475c   Ingo Molnar   x86: clean up arc...
63
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
64
65
66
67
  	  Enables the display of the minimum amount of free stack which each
  	  task has ever had available in the sysrq-T and sysrq-P debug output.
  
  	  This option will slow down process creation somewhat.
c49a4955e   travis@sgi.com   x86: add debug of...
68
69
70
  config DEBUG_PER_CPU_MAPS
  	bool "Debug access to per_cpu maps"
  	depends on DEBUG_KERNEL
3e5095d15   Ingo Molnar   x86: replace CONF...
71
  	depends on SMP
8f9ca475c   Ingo Molnar   x86: clean up arc...
72
  	---help---
c49a4955e   travis@sgi.com   x86: add debug of...
73
74
75
76
77
  	  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.
926e5392b   Arjan van de Ven   x86: add code to ...
78
79
  config X86_PTDUMP
  	bool "Export kernel pagetable layout to userspace via debugfs"
fe770bf03   H. Peter Anvin   x86: clean up the...
80
  	depends on DEBUG_KERNEL
926e5392b   Arjan van de Ven   x86: add code to ...
81
  	select DEBUG_FS
8f9ca475c   Ingo Molnar   x86: clean up arc...
82
  	---help---
926e5392b   Arjan van de Ven   x86: add code to ...
83
84
85
86
87
88
  	  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"
63aaf3086   Arjan van de Ven   [PATCH] x86/x86_6...
89
90
  config DEBUG_RODATA
  	bool "Write protect kernel read-only data structures"
11201e603   Ingo Molnar   x86: fix DEBUG_RO...
91
  	default y
63aaf3086   Arjan van de Ven   [PATCH] x86/x86_6...
92
  	depends on DEBUG_KERNEL
8f9ca475c   Ingo Molnar   x86: clean up arc...
93
  	---help---
63aaf3086   Arjan van de Ven   [PATCH] x86/x86_6...
94
95
  	  Mark the kernel read-only data as write-protected in the pagetables,
  	  in order to catch accidental (and incorrect) writes to such const
11201e603   Ingo Molnar   x86: fix DEBUG_RO...
96
97
  	  data. This is recommended so that we can catch kernel bugs sooner.
  	  If in doubt, say "Y".
63aaf3086   Arjan van de Ven   [PATCH] x86/x86_6...
98

aba8391f7   Ingo Molnar   x86: rodata confi...
99
100
101
  config DEBUG_RODATA_TEST
  	bool "Testcase for the DEBUG_RODATA feature"
  	depends on DEBUG_RODATA
72370f2a5   Ingo Molnar   x86: if stackprot...
102
  	default y
8f9ca475c   Ingo Molnar   x86: clean up arc...
103
  	---help---
aba8391f7   Ingo Molnar   x86: rodata confi...
104
105
106
107
108
109
110
  	  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
8f9ca475c   Ingo Molnar   x86: clean up arc...
111
  	---help---
aba8391f7   Ingo Molnar   x86: rodata confi...
112
113
114
  	  This option enables a testcase for the CPU NX capability
  	  and the software setup of this feature.
  	  If in doubt, say "N"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
115
116
  config 4KSTACKS
  	bool "Use 4Kb for kernel stacks instead of 8Kb"
d013a27cb   Randy Dunlap   x86: unification ...
117
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
118
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
119
120
121
122
123
  	  If you say Y here the kernel will use a 4Kb stacksize for the
  	  kernel stack attached to each process/thread. This facilitates
  	  running more threads on a system and also reduces the pressure
  	  on the VM subsystem for higher order allocations. This option
  	  will also use IRQ stacks to compensate for the reduced stackspace.
102e41fd9   Andi Kleen   [PATCH] i386: Mov...
124
125
126
  config DOUBLEFAULT
  	default y
  	bool "Enable doublefault exception handler" if EMBEDDED
d013a27cb   Randy Dunlap   x86: unification ...
127
  	depends on X86_32
8f9ca475c   Ingo Molnar   x86: clean up arc...
128
  	---help---
d013a27cb   Randy Dunlap   x86: unification ...
129
130
131
132
133
134
135
  	  This option allows trapping of rare doublefault exceptions that
  	  would otherwise cause a system to silently reboot. Disabling this
  	  option saves about 4k and might cause you much additional grey
  	  hair.
  
  config IOMMU_DEBUG
  	bool "Enable IOMMU debugging"
966396d3a   Joerg Roedel   x86 gart: rename ...
136
  	depends on GART_IOMMU && DEBUG_KERNEL
d013a27cb   Randy Dunlap   x86: unification ...
137
  	depends on X86_64
8f9ca475c   Ingo Molnar   x86: clean up arc...
138
  	---help---
d013a27cb   Randy Dunlap   x86: unification ...
139
140
141
142
143
144
145
146
147
148
  	  Force the IOMMU to on even when you have less than 4GB of
  	  memory and add debugging code. On overflow always panic. And
  	  allow to enable IOMMU leak tracing. Can be disabled at boot
  	  time with iommu=noforce. This will also enable scatter gather
  	  list merging.  Currently not recommended for production
  	  code. When you use it make sure you have a big enough
  	  IOMMU/AGP aperture.  Most of the options enabled by this can
  	  be set more finegrained using the iommu= command line
  	  options. See Documentation/x86_64/boot-options.txt for more
  	  details.
2be69c79e   Joerg Roedel   x86/iommu: add IO...
149
150
151
152
153
154
155
  config IOMMU_STRESS
  	bool "Enable IOMMU stress-test mode"
  	---help---
  	  This option disables various optimizations in IOMMU related
  	  code to do real stress testing of the IOMMU code. This option
  	  will cause a performance drop and should only be enabled for
  	  testing.
d013a27cb   Randy Dunlap   x86: unification ...
156
157
  config IOMMU_LEAK
  	bool "IOMMU leak tracing"
19c1a6f57   FUJITA Tomonori   x86 gart: reimple...
158
  	depends on IOMMU_DEBUG && DMA_API_DEBUG
8f9ca475c   Ingo Molnar   x86: clean up arc...
159
  	---help---
d013a27cb   Randy Dunlap   x86: unification ...
160
161
  	  Add a simple leak tracer to the IOMMU code. This is useful when you
  	  are debugging a buggy device driver that leaks IOMMU mappings.
6bc5c366b   Pekka Paalanen   trace: mmiotrace ...
162
163
  config HAVE_MMIOTRACE_SUPPORT
  	def_bool y
8b7d89d02   Pekka Paalanen   x86: mmiotrace - ...
164

ca0e9badd   Masami Hiramatsu   x86: X86 instruct...
165
  config X86_DECODER_SELFTEST
cbe5c34c8   OGAWA Hirofumi   x86: Compile insn...
166
167
  	bool "x86 instruction decoder selftest"
  	depends on DEBUG_KERNEL && KPROBES
ca0e9badd   Masami Hiramatsu   x86: X86 instruct...
168
169
170
171
172
  	---help---
  	 Perform x86 instruction decoder selftests at build time.
  	 This option is useful for checking the sanity of x86 instruction
  	 decoder code.
  	 If unsure, say "N".
6e7c40259   Ingo Molnar   x86: various chan...
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
  #
  # IO delay types:
  #
  
  config IO_DELAY_TYPE_0X80
  	int
  	default "0"
  
  config IO_DELAY_TYPE_0XED
  	int
  	default "1"
  
  config IO_DELAY_TYPE_UDELAY
  	int
  	default "2"
  
  config IO_DELAY_TYPE_NONE
  	int
  	default "3"
  
  choice
  	prompt "IO delay type"
fd59e9e9c   Ingo Molnar   x86: change IO de...
195
  	default IO_DELAY_0X80
6e7c40259   Ingo Molnar   x86: various chan...
196
197
198
  
  config IO_DELAY_0X80
  	bool "port 0x80 based port-IO delay [recommended]"
8f9ca475c   Ingo Molnar   x86: clean up arc...
199
  	---help---
6e7c40259   Ingo Molnar   x86: various chan...
200
201
202
203
204
  	  This is the traditional Linux IO delay used for in/out_p.
  	  It is the most tested hence safest selection here.
  
  config IO_DELAY_0XED
  	bool "port 0xed based port-IO delay"
8f9ca475c   Ingo Molnar   x86: clean up arc...
205
  	---help---
6e7c40259   Ingo Molnar   x86: various chan...
206
207
208
209
210
  	  Use port 0xed as the IO delay. This frees up port 0x80 which is
  	  often used as a hardware-debug port.
  
  config IO_DELAY_UDELAY
  	bool "udelay based port-IO delay"
8f9ca475c   Ingo Molnar   x86: clean up arc...
211
  	---help---
6e7c40259   Ingo Molnar   x86: various chan...
212
213
214
215
216
  	  Use udelay(2) as the IO delay method. This provides the delay
  	  while not having any side-effect on the IO port space.
  
  config IO_DELAY_NONE
  	bool "no port-IO delay"
8f9ca475c   Ingo Molnar   x86: clean up arc...
217
  	---help---
6e7c40259   Ingo Molnar   x86: various chan...
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
  	  No port-IO delay. Will break on old boxes that require port-IO
  	  delay for certain operations. Should work on most new machines.
  
  endchoice
  
  if IO_DELAY_0X80
  config DEFAULT_IO_DELAY_TYPE
  	int
  	default IO_DELAY_TYPE_0X80
  endif
  
  if IO_DELAY_0XED
  config DEFAULT_IO_DELAY_TYPE
  	int
  	default IO_DELAY_TYPE_0XED
  endif
  
  if IO_DELAY_UDELAY
  config DEFAULT_IO_DELAY_TYPE
  	int
  	default IO_DELAY_TYPE_UDELAY
  endif
  
  if IO_DELAY_NONE
  config DEFAULT_IO_DELAY_TYPE
  	int
  	default IO_DELAY_TYPE_NONE
  endif
b02aae9cf   Rene Herman   x86: provide a DM...
246

6d7d74337   Huang, Ying   x86 boot : export...
247
248
249
250
  config DEBUG_BOOT_PARAMS
  	bool "Debug boot parameters"
  	depends on DEBUG_KERNEL
  	depends on DEBUG_FS
8f9ca475c   Ingo Molnar   x86: clean up arc...
251
  	---help---
6d7d74337   Huang, Ying   x86 boot : export...
252
  	  This option will cause struct boot_params to be exported via debugfs.
0c42f3927   Andi Kleen   c_p_a(): do a sim...
253
  config CPA_DEBUG
971a52d66   Ingo Molnar   x86: delay CPA se...
254
  	bool "CPA self-test code"
f316fe687   Ingo Molnar   x86: cpa: make se...
255
  	depends on DEBUG_KERNEL
8f9ca475c   Ingo Molnar   x86: clean up arc...
256
  	---help---
971a52d66   Ingo Molnar   x86: delay CPA se...
257
  	  Do change_page_attr() self-tests every 30 seconds.
0c42f3927   Andi Kleen   c_p_a(): do a sim...
258

60a3cdd06   Ingo Molnar   x86: add optimize...
259
260
  config OPTIMIZE_INLINING
  	bool "Allow gcc to uninline functions marked 'inline'"
8f9ca475c   Ingo Molnar   x86: clean up arc...
261
  	---help---
60a3cdd06   Ingo Molnar   x86: add optimize...
262
263
264
265
  	  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
63fb70859   Sitsofe Wheeler   x86: change OPTIM...
266
267
268
269
  	  enabling this option will generate a smaller kernel there. Hopefully
  	  this algorithm is so good that allowing gcc 4.x and above to make the
  	  decision will become the default in the future. Until then this option
  	  is there to test gcc for this.
c9af1e332   Ingo Molnar   x86: Kconfig fix
270

3f9b5cc01   Ingo Molnar   x86: re-enable OP...
271
  	  If unsure, say N.
63312b6a6   Arjan van de Ven   x86: Add a Kconfi...
272
273
  config DEBUG_STRICT_USER_COPY_CHECKS
  	bool "Strict copy size checks"
ad8f4356a   Arjan van de Ven   x86: Don't use th...
274
  	depends on DEBUG_KERNEL && !TRACE_BRANCH_PROFILING
63312b6a6   Arjan van de Ven   x86: Add a Kconfi...
275
276
277
278
279
280
281
282
283
284
  	---help---
  	  Enabling this option turns a certain set of sanity checks for user
  	  copy operations into compile time failures.
  
  	  The copy_from_user() etc checks are there to help test if there
  	  are sufficient security checks on the length argument of
  	  the copy operation, by having gcc prove that the argument is
  	  within bounds.
  
  	  If unsure, or if you run an older (pre 4.4) gcc, say N.
c9af1e332   Ingo Molnar   x86: Kconfig fix
285
  endmenu