]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blame - arch/powerpc/Kconfig.debug
Merge tag 'asoc-fix-4.17-rc2' of https://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-hirsute-kernel.git] / arch / powerpc / Kconfig.debug
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
14cf11af
PM
2menu "Kernel hacking"
3
4source "lib/Kconfig.debug"
5
ba55bd74
ME
6config PPC_DISABLE_WERROR
7 bool "Don't build arch/powerpc code with -Werror"
8 default n
9 help
10 This option tells the compiler NOT to build the code under
11 arch/powerpc with the -Werror flag (which means warnings
12 are treated as errors).
13
14 Only enable this if you are hitting a build failure in the
15 arch/powerpc code caused by a warning, and you don't feel
16 inclined to fix it.
17
18config PPC_WERROR
19 bool
20 depends on !PPC_DISABLE_WERROR
21 default y
22
c4d04be1
JB
23config PRINT_STACK_DEPTH
24 int "Stack depth to print" if DEBUG_KERNEL
25 default 64
26 help
27 This option allows you to set the stack depth that the kernel
28 prints in stack traces. This can be useful if your display is
29 too small and stack traces cause important information to
30 scroll off the screen.
31
57852a85
MK
32config HCALL_STATS
33 bool "Hypervisor call instrumentation"
c8cd093a 34 depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
57852a85
MK
35 help
36 Adds code to keep track of the number of hypervisor calls made and
3dde6ad8 37 the amount of time spent in hypervisor calls. Wall time spent in
57852a85
MK
38 each call is always calculated, and if available CPU cycles spent
39 are also calculated. A directory named hcall_inst is added at the
40 root of the debugfs filesystem. Within the hcall_inst directory
41 are files that contain CPU specific call statistics.
42
43 This option will add a small amount of overhead to all hypervisor
44 calls.
45
80947e7c
GU
46config PPC_EMULATED_STATS
47 bool "Emulated instructions tracking"
48 depends on DEBUG_FS
49 help
50 Adds code to keep track of the number of instructions that are
51 emulated by the in-kernel emulator. Counters for the various classes
52 of emulated instructions are available under
53 powerpc/emulated_instructions/ in the root of the debugfs file
54 system. Optionally (controlled by
55 powerpc/emulated_instructions/do_warn in debugfs), rate-limited
56 warnings can be printed to the console when instructions are
57 emulated.
58
ae0dc736 59config CODE_PATCHING_SELFTEST
759fb100 60 bool "Run self-tests of the code-patching code"
ae0dc736
ME
61 depends on DEBUG_KERNEL
62 default n
63
bfbfc8a4
ME
64config JUMP_LABEL_FEATURE_CHECKS
65 bool "Enable use of jump label for cpu/mmu_has_feature()"
66 depends on JUMP_LABEL
67 default y
68 help
69 Selecting this options enables use of jump labels for some internal
70 feature checks. This should generate more optimal code for those
71 checks.
72
c812c7d8
AK
73config JUMP_LABEL_FEATURE_CHECK_DEBUG
74 bool "Do extra check on feature fixup calls"
75 depends on DEBUG_KERNEL && JUMP_LABEL_FEATURE_CHECKS
76 default n
77 help
78 This tries to catch incorrect usage of cpu_has_feature() and
79 mmu_has_feature() in the code.
80
81 If you don't know what this means, say N.
82
362e7701 83config FTR_FIXUP_SELFTEST
759fb100 84 bool "Run self-tests of the feature-fixup code"
362e7701
ME
85 depends on DEBUG_KERNEL
86 default n
87
7e302869 88config MSI_BITMAP_SELFTEST
759fb100 89 bool "Run self-tests of the MSI bitmap code"
7e302869
ME
90 depends on DEBUG_KERNEL
91 default n
92
9aa88188
MS
93config PPC_IRQ_SOFT_MASK_DEBUG
94 bool "Include extra checks for powerpc irq soft masking"
95 default n
96
14cf11af
PM
97config XMON
98 bool "Include xmon kernel debugger"
17ce452f 99 depends on DEBUG_KERNEL
14cf11af
PM
100 help
101 Include in-kernel hooks for the xmon kernel monitor/debugger.
102 Unless you are intending to debug the kernel, say N here.
ff64208d
PM
103 Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
104 nothing will appear on the screen (xmon writes directly to the
105 framebuffer memory).
106 The cmdline option 'xmon' or 'xmon=early' will drop into xmon
107 very early during boot. 'xmon=on' will just enable the xmon
108 debugger hooks. 'xmon=off' will disable the debugger hooks
109 if CONFIG_XMON_DEFAULT is set.
26c8af5f
OH
110 xmon will print a backtrace on the very first invocation.
111 'xmon=nobt' will disable this autobacktrace.
ff64208d
PM
112
113config XMON_DEFAULT
114 bool "Enable xmon by default"
115 depends on XMON
116 help
117 xmon is normally disabled unless booted with 'xmon=on'.
118 Use 'xmon=off' to disable xmon init during runtime.
119
e0426047
ME
120config XMON_DISASSEMBLY
121 bool "Include disassembly support in xmon"
122 depends on XMON
123 default y
124 help
125 Include support for disassembling in xmon. You probably want
126 to say Y here, unless you're building for a memory-constrained
127 system.
128
17ce452f
JW
129config DEBUGGER
130 bool
131 depends on KGDB || XMON
132 default y
133
14cf11af
PM
134config BDI_SWITCH
135 bool "Include BDI-2000 user context switcher"
ff64208d 136 depends on DEBUG_KERNEL && PPC32
14cf11af
PM
137 help
138 Include in-kernel support for the Abatron BDI2000 debugger.
139 Unless you are intending to debug the kernel with one of these
140 machines, say N here.
141
142config BOOTX_TEXT
143 bool "Support for early boot text console (BootX or OpenFirmware only)"
52d99627 144 depends on PPC_BOOK3S
14cf11af
PM
145 help
146 Say Y here to see progress messages from the boot firmware in text
147 mode. Requires either BootX or Open Firmware.
148
485a2d54
ME
149config PPC_EARLY_DEBUG
150 bool "Early debugging (dangerous)"
7ee17466
BH
151 help
152 Say Y to enable some early debugging facilities that may be available
153 for your processor/board combination. Those facilities are hacks
154 intended to debug problems early during boot, this should not be
155 enabled in a production kernel.
156 Note that enabling this will also cause the kernel default log level
157 to be pushed to max automatically very early during boot
485a2d54 158
296167ae 159choice
485a2d54
ME
160 prompt "Early debugging console"
161 depends on PPC_EARLY_DEBUG
296167ae 162 help
485a2d54
ME
163 Use the selected console for early debugging. Careful, if you
164 enable debugging for the wrong type of machine your kernel
165 _will not boot_.
296167ae 166
071df942
AP
167config PPC_EARLY_DEBUG_BOOTX
168 bool "BootX or OpenFirmware"
169 depends on BOOTX_TEXT
170 help
171 Select this to enable early debugging for a machine using BootX
172 or OpenFirmware.
173
296167ae
ME
174config PPC_EARLY_DEBUG_LPAR
175 bool "LPAR HV Console"
23697760 176 depends on PPC_PSERIES && HVC_CONSOLE
296167ae
ME
177 help
178 Select this to enable early debugging for a machine with a HVC
179 console on vterm 0.
180
4d2bb3f5
BH
181config PPC_EARLY_DEBUG_LPAR_HVSI
182 bool "LPAR HVSI Console"
23697760 183 depends on PPC_PSERIES && HVC_CONSOLE
4d2bb3f5
BH
184 help
185 Select this to enable early debugging for a machine with a HVSI
186 console on a specified vterm.
187
296167ae
ME
188config PPC_EARLY_DEBUG_G5
189 bool "Apple G5"
190 depends on PPC_PMAC64
191 help
192 Select this to enable early debugging for Apple G5 machines.
193
cc46bb98 194config PPC_EARLY_DEBUG_RTAS_PANEL
296167ae
ME
195 bool "RTAS Panel"
196 depends on PPC_RTAS
197 help
198 Select this to enable early debugging via the RTAS panel.
199
cc46bb98
ME
200config PPC_EARLY_DEBUG_RTAS_CONSOLE
201 bool "RTAS Console"
202 depends on PPC_RTAS
203 select UDBG_RTAS_CONSOLE
204 help
205 Select this to enable early debugging via the RTAS console.
206
296167ae
ME
207config PPC_EARLY_DEBUG_MAPLE
208 bool "Maple real mode"
209 depends on PPC_MAPLE
210 help
211 Select this to enable early debugging for Maple.
212
39c870d5
OJ
213config PPC_EARLY_DEBUG_PAS_REALMODE
214 bool "PA Semi real mode"
215 depends on PPC_PASEMI
216 help
217 Select this to enable early debugging for PA Semi.
218 Output will be on UART0.
219
d9b55a03
DG
220config PPC_EARLY_DEBUG_44x
221 bool "Early serial debugging for IBM/AMCC 44x CPUs"
b2677b8d 222 depends on 44x
d9b55a03
DG
223 help
224 Select this to enable early debugging for IBM 44x chips via the
6bbc5476
HB
225 inbuilt serial port. If you enable this, ensure you set
226 PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
d9b55a03 227
9dae8afd
BH
228config PPC_EARLY_DEBUG_40x
229 bool "Early serial debugging for IBM/AMCC 40x CPUs"
230 depends on 40x
231 help
232 Select this to enable early debugging for IBM 40x chips via the
233 inbuilt serial port. This works on chips with a 16550 compatible
234 UART. Xilinx chips with uartlite cannot use this option.
235
c374e00e
SW
236config PPC_EARLY_DEBUG_CPM
237 bool "Early serial debugging for Freescale CPM-based serial ports"
238 depends on SERIAL_CPM
c374e00e
SW
239 help
240 Select this to enable early debugging for Freescale chips
241 using a CPM-based serial port. This assumes that the bootwrapper
242 has run, and set up the CPM in a particular way.
243
d1d56f8c
AH
244config PPC_EARLY_DEBUG_USBGECKO
245 bool "Early debugging through the USB Gecko adapter"
246 depends on GAMECUBE_COMMON
247 select USBGECKO_UDBG
248 help
249 Select this to enable early debugging for Nintendo GameCube/Wii
250 consoles via an external USB Gecko adapter.
251
c26afe9e
HM
252config PPC_EARLY_DEBUG_PS3GELIC
253 bool "Early debugging through the PS3 Ethernet port"
254 depends on PPC_PS3
255 select PS3GELIC_UDBG
256 help
257 Select this to enable early debugging for the PlayStation3 via
258 UDP broadcasts sent out through the Ethernet port.
259
daea1175
BH
260config PPC_EARLY_DEBUG_OPAL_RAW
261 bool "OPAL raw console"
262 depends on HVC_OPAL
263 help
264 Select this to enable early debugging for the PowerNV platform
265 using a "raw" console
266
267config PPC_EARLY_DEBUG_OPAL_HVSI
268 bool "OPAL hvsi console"
269 depends on HVC_OPAL
270 help
271 Select this to enable early debugging for the PowerNV platform
272 using an "hvsi" console
273
30650239
AP
274config PPC_EARLY_DEBUG_MEMCONS
275 bool "In memory console"
276 help
277 Select this to enable early debugging using an in memory console.
278 This console provides input and output buffers stored within the
279 kernel BSS and should be safe to select on any system. A debugger
280 can then be used to read kernel output or send input to the console.
296167ae
ME
281endchoice
282
30650239
AP
283config PPC_MEMCONS_OUTPUT_SIZE
284 int "In memory console output buffer size"
285 depends on PPC_EARLY_DEBUG_MEMCONS
286 default 4096
287 help
288 Selects the size of the output buffer (in bytes) of the in memory
289 console.
290
291config PPC_MEMCONS_INPUT_SIZE
292 int "In memory console input buffer size"
293 depends on PPC_EARLY_DEBUG_MEMCONS
294 default 128
295 help
296 Selects the size of the input buffer (in bytes) of the in memory
297 console.
298
daea1175
BH
299config PPC_EARLY_DEBUG_OPAL
300 def_bool y
301 depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
302
303
4d2bb3f5
BH
304config PPC_EARLY_DEBUG_HVSI_VTERMNO
305 hex "vterm number to use with early debug HVSI"
306 depends on PPC_EARLY_DEBUG_LPAR_HVSI
307 default "0x30000000"
308 help
309 You probably want 0x30000000 for your first serial port and
310 0x30000001 for your second one
311
daea1175
BH
312config PPC_EARLY_DEBUG_OPAL_VTERMNO
313 hex "vterm number to use with OPAL early debug"
314 depends on PPC_EARLY_DEBUG_OPAL
315 default "0"
316 help
317 This correspond to which /dev/hvcN you want to use for early
318 debug.
319
daea1175
BH
320 On OPAL v2, this will be 0 for network console and 1 or 2 for
321 the machine built-in serial ports.
322
d9b55a03
DG
323config PPC_EARLY_DEBUG_44x_PHYSLOW
324 hex "Low 32 bits of early debug UART physical address"
247537b9 325 depends on PPC_EARLY_DEBUG_44x
d9b55a03 326 default "0x40000200"
6bbc5476
HB
327 help
328 You probably want 0x40000200 for ebony boards and
329 0x40000300 for taishan
d9b55a03
DG
330
331config PPC_EARLY_DEBUG_44x_PHYSHIGH
332 hex "EPRN of early debug UART physical address"
247537b9 333 depends on PPC_EARLY_DEBUG_44x
d9b55a03
DG
334 default "0x1"
335
9dae8afd
BH
336config PPC_EARLY_DEBUG_40x_PHYSADDR
337 hex "Early debug UART physical address"
338 depends on PPC_EARLY_DEBUG_40x
339 default "0xef600300"
340
c374e00e
SW
341config PPC_EARLY_DEBUG_CPM_ADDR
342 hex "CPM UART early debug transmit descriptor address"
343 depends on PPC_EARLY_DEBUG_CPM
15f8c604 344 default "0xfa202008" if PPC_EP88XC
c2dd3529 345 default "0xf0001ff8" if CPM2
15f8c604 346 default "0xff002008" if CPM1
c374e00e
SW
347 help
348 This specifies the address of the transmit descriptor
349 used for early debug output. Because it is needed before
350 platform probing is done, all platforms selected must
351 share the same address.
352
d6b9a81b
AB
353config FAIL_IOMMU
354 bool "Fault-injection capability for IOMMU"
355 depends on FAULT_INJECTION
356 help
357 Provide fault-injection capability for IOMMU. Each device can
358 be selectively enabled via the fail_iommu property.
359
360 If you are unsure, say N.
361
8eb07b18
RG
362config PPC_PTDUMP
363 bool "Export kernel pagetable layout to userspace via debugfs"
1c877f71 364 depends on DEBUG_KERNEL && DEBUG_FS
8eb07b18
RG
365 help
366 This option exports the state of the kernel pagetables to a
367 debugfs file. This is only useful for kernel developers who are
368 working in architecture specific areas of the kernel - probably
369 not a good idea to enable this feature in a production kernel.
370
371 If you are unsure, say N.
372
dd5ac03e
ME
373config PPC_HTDUMP
374 def_bool y
94d3084a 375 depends on PPC_PTDUMP && PPC_BOOK3S_64
dd5ac03e 376
727f1361
ME
377config PPC_FAST_ENDIAN_SWITCH
378 bool "Deprecated fast endian-switch syscall"
379 depends on DEBUG_KERNEL && PPC_BOOK3S_64
380 help
381 If you're unsure what this is, say N.
382
14cf11af 383endmenu