1 # SPDX-License-Identifier: GPL-2.0
3 config PPC_DISABLE_WERROR
4 bool "Don't build arch/powerpc code with -Werror"
6 This option tells the compiler NOT to build the code under
7 arch/powerpc with the -Werror flag (which means warnings
8 are treated as errors).
10 Only enable this if you are hitting a build failure in the
11 arch/powerpc code caused by a warning, and you don't feel
16 depends on !PPC_DISABLE_WERROR
19 config PRINT_STACK_DEPTH
20 int "Stack depth to print" if DEBUG_KERNEL
23 This option allows you to set the stack depth that the kernel
24 prints in stack traces. This can be useful if your display is
25 too small and stack traces cause important information to
26 scroll off the screen.
29 bool "Hypervisor call instrumentation"
30 depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
32 Adds code to keep track of the number of hypervisor calls made and
33 the amount of time spent in hypervisor calls. Wall time spent in
34 each call is always calculated, and if available CPU cycles spent
35 are also calculated. A directory named hcall_inst is added at the
36 root of the debugfs filesystem. Within the hcall_inst directory
37 are files that contain CPU specific call statistics.
39 This option will add a small amount of overhead to all hypervisor
42 config PPC_EMULATED_STATS
43 bool "Emulated instructions tracking"
46 Adds code to keep track of the number of instructions that are
47 emulated by the in-kernel emulator. Counters for the various classes
48 of emulated instructions are available under
49 powerpc/emulated_instructions/ in the root of the debugfs file
50 system. Optionally (controlled by
51 powerpc/emulated_instructions/do_warn in debugfs), rate-limited
52 warnings can be printed to the console when instructions are
55 config CODE_PATCHING_SELFTEST
56 bool "Run self-tests of the code-patching code"
57 depends on DEBUG_KERNEL
59 config JUMP_LABEL_FEATURE_CHECKS
60 bool "Enable use of jump label for cpu/mmu_has_feature()"
64 Selecting this options enables use of jump labels for some internal
65 feature checks. This should generate more optimal code for those
68 config JUMP_LABEL_FEATURE_CHECK_DEBUG
69 bool "Do extra check on feature fixup calls"
70 depends on DEBUG_KERNEL && JUMP_LABEL_FEATURE_CHECKS
72 This tries to catch incorrect usage of cpu_has_feature() and
73 mmu_has_feature() in the code.
75 If you don't know what this means, say N.
77 config FTR_FIXUP_SELFTEST
78 bool "Run self-tests of the feature-fixup code"
79 depends on DEBUG_KERNEL
81 config MSI_BITMAP_SELFTEST
82 bool "Run self-tests of the MSI bitmap code"
83 depends on DEBUG_KERNEL
85 config GUEST_STATE_BUFFER_TEST
87 prompt "Enable Guest State Buffer unit tests"
89 depends on KVM_BOOK3S_HV_POSSIBLE
90 default KUNIT_ALL_TESTS
92 The Guest State Buffer is a data format specified in the PAPR.
93 It is by hcalls to communicate the state of L2 guests between
94 the L1 and L0 hypervisors. Enable unit tests for the library
95 used to create and use guest state buffers.
97 config PPC_IRQ_SOFT_MASK_DEBUG
98 bool "Include extra checks for powerpc irq soft masking"
101 config PPC_RFI_SRR_DEBUG
102 bool "Include extra checks for RFI SRR register validity"
103 depends on PPC_BOOK3S_64
106 bool "Include xmon kernel debugger"
107 depends on DEBUG_KERNEL
108 select CONSOLE_POLL if SERIAL_CPM_CONSOLE
110 Include in-kernel hooks for the xmon kernel monitor/debugger.
111 Unless you are intending to debug the kernel, say N here.
112 Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
113 nothing will appear on the screen (xmon writes directly to the
115 The cmdline option 'xmon' or 'xmon=early' will drop into xmon
116 very early during boot. 'xmon=on' will just enable the xmon
117 debugger hooks. 'xmon=off' will disable the debugger hooks
118 if CONFIG_XMON_DEFAULT is set.
119 xmon will print a backtrace on the very first invocation.
120 'xmon=nobt' will disable this autobacktrace.
123 bool "Enable xmon by default"
126 xmon is normally disabled unless booted with 'xmon=on'.
127 Use 'xmon=off' to disable xmon init during runtime.
129 config XMON_DISASSEMBLY
130 bool "Include disassembly support in xmon"
134 Include support for disassembling in xmon. You probably want
135 to say Y here, unless you're building for a memory-constrained
138 config XMON_DEFAULT_RO_MODE
139 bool "Restrict xmon to read-only operations by default"
143 Operate xmon in read-only mode. The cmdline options 'xmon=rw' and
144 'xmon=ro' override this default.
148 depends on KGDB || XMON
152 bool "Include BDI-2000 user context switcher"
153 depends on DEBUG_KERNEL && PPC32
155 Include in-kernel support for the Abatron BDI2000 debugger.
156 Unless you are intending to debug the kernel with one of these
157 machines, say N here.
160 bool "Support for early boot text console (BootX or OpenFirmware only)"
161 depends on PPC_BOOK3S
165 Say Y here to see progress messages from the boot firmware in text
166 mode. Requires either BootX or Open Firmware.
168 config PPC_EARLY_DEBUG
169 bool "Early debugging (dangerous)"
171 Say Y to enable some early debugging facilities that may be available
172 for your processor/board combination. Those facilities are hacks
173 intended to debug problems early during boot, this should not be
174 enabled in a production kernel.
175 Note that enabling this will also cause the kernel default log level
176 to be pushed to max automatically very early during boot
179 prompt "Early debugging console"
180 depends on PPC_EARLY_DEBUG
182 Use the selected console for early debugging. Careful, if you
183 enable debugging for the wrong type of machine your kernel
186 config PPC_EARLY_DEBUG_BOOTX
187 bool "BootX or OpenFirmware"
188 depends on BOOTX_TEXT
190 Select this to enable early debugging for a machine using BootX
193 config PPC_EARLY_DEBUG_LPAR
194 bool "LPAR HV Console"
195 depends on PPC_PSERIES && HVC_CONSOLE
197 Select this to enable early debugging for a machine with a HVC
200 config PPC_EARLY_DEBUG_LPAR_HVSI
201 bool "LPAR HVSI Console"
202 depends on PPC_PSERIES && HVC_CONSOLE
204 Select this to enable early debugging for a machine with a HVSI
205 console on a specified vterm.
207 config PPC_EARLY_DEBUG_G5
209 depends on PPC_PMAC64
211 Select this to enable early debugging for Apple G5 machines.
213 config PPC_EARLY_DEBUG_RTAS_PANEL
217 Select this to enable early debugging via the RTAS panel.
219 config PPC_EARLY_DEBUG_RTAS_CONSOLE
222 select UDBG_RTAS_CONSOLE
224 Select this to enable early debugging via the RTAS console.
226 config PPC_EARLY_DEBUG_PAS_REALMODE
227 bool "PA Semi real mode"
228 depends on PPC_PASEMI
230 Select this to enable early debugging for PA Semi.
231 Output will be on UART0.
233 config PPC_EARLY_DEBUG_44x
234 bool "Early serial debugging for IBM/AMCC 44x CPUs"
237 Select this to enable early debugging for IBM 44x chips via the
238 inbuilt serial port. If you enable this, ensure you set
239 PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
241 config PPC_EARLY_DEBUG_CPM
242 bool "Early serial debugging for Freescale CPM-based serial ports"
243 depends on SERIAL_CPM=y
245 Select this to enable early debugging for Freescale chips
246 using a CPM-based serial port. This assumes that the bootwrapper
247 has run, and set up the CPM in a particular way.
249 config PPC_EARLY_DEBUG_USBGECKO
250 bool "Early debugging through the USB Gecko adapter"
251 depends on GAMECUBE_COMMON
254 Select this to enable early debugging for Nintendo GameCube/Wii
255 consoles via an external USB Gecko adapter.
257 config PPC_EARLY_DEBUG_PS3GELIC
258 bool "Early debugging through the PS3 Ethernet port"
261 Select this to enable early debugging for the PlayStation3 via
262 UDP broadcasts sent out through the Ethernet port.
264 config PPC_EARLY_DEBUG_OPAL_RAW
265 bool "OPAL raw console"
268 Select this to enable early debugging for the PowerNV platform
269 using a "raw" console
271 config PPC_EARLY_DEBUG_OPAL_HVSI
272 bool "OPAL hvsi console"
275 Select this to enable early debugging for the PowerNV platform
276 using an "hvsi" console
278 config PPC_EARLY_DEBUG_MEMCONS
279 bool "In memory console"
281 Select this to enable early debugging using an in memory console.
282 This console provides input and output buffers stored within the
283 kernel BSS and should be safe to select on any system. A debugger
284 can then be used to read kernel output or send input to the console.
286 config PPC_EARLY_DEBUG_16550
288 depends on PPC_UDBG_16550
290 Select this to enable early debugging via Serial 16550 console
293 config PPC_MEMCONS_OUTPUT_SIZE
294 int "In memory console output buffer size"
295 depends on PPC_EARLY_DEBUG_MEMCONS
298 Selects the size of the output buffer (in bytes) of the in memory
301 config PPC_MEMCONS_INPUT_SIZE
302 int "In memory console input buffer size"
303 depends on PPC_EARLY_DEBUG_MEMCONS
306 Selects the size of the input buffer (in bytes) of the in memory
309 config PPC_EARLY_DEBUG_OPAL
311 depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
313 config PPC_EARLY_DEBUG_HVSI_VTERMNO
314 hex "vterm number to use with early debug HVSI"
315 depends on PPC_EARLY_DEBUG_LPAR_HVSI
318 You probably want 0x30000000 for your first serial port and
319 0x30000001 for your second one
321 config PPC_EARLY_DEBUG_OPAL_VTERMNO
322 hex "vterm number to use with OPAL early debug"
323 depends on PPC_EARLY_DEBUG_OPAL
326 This correspond to which /dev/hvcN you want to use for early
329 On OPAL v2, this will be 0 for network console and 1 or 2 for
330 the machine built-in serial ports.
332 config PPC_EARLY_DEBUG_44x_PHYSLOW
333 hex "Low 32 bits of early debug UART physical address"
334 depends on PPC_EARLY_DEBUG_44x
337 You probably want 0x40000200 for ebony boards and
338 0x40000300 for taishan
340 config PPC_EARLY_DEBUG_44x_PHYSHIGH
341 hex "EPRN of early debug UART physical address"
342 depends on PPC_EARLY_DEBUG_44x
345 config PPC_EARLY_DEBUG_CPM_ADDR
346 hex "CPM UART early debug transmit descriptor address"
347 depends on PPC_EARLY_DEBUG_CPM
348 default "0xfa202008" if PPC_EP88XC
349 default "0xf0001ff8" if CPM2
350 default "0xff002008" if CPM1
352 This specifies the address of the transmit descriptor
353 used for early debug output. Because it is needed before
354 platform probing is done, all platforms selected must
355 share the same address.
357 config PPC_EARLY_DEBUG_16550_PHYSADDR
358 hex "Early debug Serial 16550 physical address"
359 depends on PPC_EARLY_DEBUG_16550
361 config PPC_EARLY_DEBUG_16550_STRIDE
362 int "Early debug Serial 16550 stride"
363 depends on PPC_EARLY_DEBUG_16550
367 bool "Fault-injection capability for IOMMU"
368 depends on FAULT_INJECTION
369 depends on PCI || IBMVIO
371 Provide fault-injection capability for IOMMU. Each device can
372 be selectively enabled via the fail_iommu property.
374 If you are unsure, say N.
376 config KASAN_SHADOW_OFFSET
379 default 0xe0000000 if PPC32
380 default 0xa80e000000000000 if PPC_BOOK3S_64
381 default 0xa8001c0000000000 if PPC_BOOK3E_64