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