1 # SPDX-License-Identifier: GPL-2.0
3 config PPC_DISABLE_WERROR
4 bool "Don't build arch/powerpc code with -Werror"
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).
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
17 depends on !PPC_DISABLE_WERROR
20 config PRINT_STACK_DEPTH
21 int "Stack depth to print" if DEBUG_KERNEL
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.
30 bool "Hypervisor call instrumentation"
31 depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
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.
40 This option will add a small amount of overhead to all hypervisor
43 config PPC_EMULATED_STATS
44 bool "Emulated instructions tracking"
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
56 config CODE_PATCHING_SELFTEST
57 bool "Run self-tests of the code-patching code"
58 depends on DEBUG_KERNEL
61 config JUMP_LABEL_FEATURE_CHECKS
62 bool "Enable use of jump label for cpu/mmu_has_feature()"
66 Selecting this options enables use of jump labels for some internal
67 feature checks. This should generate more optimal code for those
70 config JUMP_LABEL_FEATURE_CHECK_DEBUG
71 bool "Do extra check on feature fixup calls"
72 depends on DEBUG_KERNEL && JUMP_LABEL_FEATURE_CHECKS
75 This tries to catch incorrect usage of cpu_has_feature() and
76 mmu_has_feature() in the code.
78 If you don't know what this means, say N.
80 config FTR_FIXUP_SELFTEST
81 bool "Run self-tests of the feature-fixup code"
82 depends on DEBUG_KERNEL
85 config MSI_BITMAP_SELFTEST
86 bool "Run self-tests of the MSI bitmap code"
87 depends on DEBUG_KERNEL
90 config PPC_IRQ_SOFT_MASK_DEBUG
91 bool "Include extra checks for powerpc irq soft masking"
95 bool "Include xmon kernel debugger"
96 depends on DEBUG_KERNEL
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
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.
111 bool "Enable xmon by default"
114 xmon is normally disabled unless booted with 'xmon=on'.
115 Use 'xmon=off' to disable xmon init during runtime.
117 config XMON_DISASSEMBLY
118 bool "Include disassembly support in xmon"
122 Include support for disassembling in xmon. You probably want
123 to say Y here, unless you're building for a memory-constrained
128 depends on KGDB || XMON
132 bool "Include BDI-2000 user context switcher"
133 depends on DEBUG_KERNEL && PPC32
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.
140 bool "Support for early boot text console (BootX or OpenFirmware only)"
141 depends on PPC_BOOK3S
143 Say Y here to see progress messages from the boot firmware in text
144 mode. Requires either BootX or Open Firmware.
146 config PPC_EARLY_DEBUG
147 bool "Early debugging (dangerous)"
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
157 prompt "Early debugging console"
158 depends on PPC_EARLY_DEBUG
160 Use the selected console for early debugging. Careful, if you
161 enable debugging for the wrong type of machine your kernel
164 config PPC_EARLY_DEBUG_BOOTX
165 bool "BootX or OpenFirmware"
166 depends on BOOTX_TEXT
168 Select this to enable early debugging for a machine using BootX
171 config PPC_EARLY_DEBUG_LPAR
172 bool "LPAR HV Console"
173 depends on PPC_PSERIES && HVC_CONSOLE
175 Select this to enable early debugging for a machine with a HVC
178 config PPC_EARLY_DEBUG_LPAR_HVSI
179 bool "LPAR HVSI Console"
180 depends on PPC_PSERIES && HVC_CONSOLE
182 Select this to enable early debugging for a machine with a HVSI
183 console on a specified vterm.
185 config PPC_EARLY_DEBUG_G5
187 depends on PPC_PMAC64
189 Select this to enable early debugging for Apple G5 machines.
191 config PPC_EARLY_DEBUG_RTAS_PANEL
195 Select this to enable early debugging via the RTAS panel.
197 config PPC_EARLY_DEBUG_RTAS_CONSOLE
200 select UDBG_RTAS_CONSOLE
202 Select this to enable early debugging via the RTAS console.
204 config PPC_EARLY_DEBUG_MAPLE
205 bool "Maple real mode"
208 Select this to enable early debugging for Maple.
210 config PPC_EARLY_DEBUG_PAS_REALMODE
211 bool "PA Semi real mode"
212 depends on PPC_PASEMI
214 Select this to enable early debugging for PA Semi.
215 Output will be on UART0.
217 config PPC_EARLY_DEBUG_44x
218 bool "Early serial debugging for IBM/AMCC 44x CPUs"
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.
225 config PPC_EARLY_DEBUG_40x
226 bool "Early serial debugging for IBM/AMCC 40x CPUs"
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.
233 config PPC_EARLY_DEBUG_CPM
234 bool "Early serial debugging for Freescale CPM-based serial ports"
235 depends on SERIAL_CPM
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.
241 config PPC_EARLY_DEBUG_USBGECKO
242 bool "Early debugging through the USB Gecko adapter"
243 depends on GAMECUBE_COMMON
246 Select this to enable early debugging for Nintendo GameCube/Wii
247 consoles via an external USB Gecko adapter.
249 config PPC_EARLY_DEBUG_PS3GELIC
250 bool "Early debugging through the PS3 Ethernet port"
254 Select this to enable early debugging for the PlayStation3 via
255 UDP broadcasts sent out through the Ethernet port.
257 config PPC_EARLY_DEBUG_OPAL_RAW
258 bool "OPAL raw console"
261 Select this to enable early debugging for the PowerNV platform
262 using a "raw" console
264 config PPC_EARLY_DEBUG_OPAL_HVSI
265 bool "OPAL hvsi console"
268 Select this to enable early debugging for the PowerNV platform
269 using an "hvsi" console
271 config PPC_EARLY_DEBUG_MEMCONS
272 bool "In memory console"
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.
280 config PPC_MEMCONS_OUTPUT_SIZE
281 int "In memory console output buffer size"
282 depends on PPC_EARLY_DEBUG_MEMCONS
285 Selects the size of the output buffer (in bytes) of the in memory
288 config PPC_MEMCONS_INPUT_SIZE
289 int "In memory console input buffer size"
290 depends on PPC_EARLY_DEBUG_MEMCONS
293 Selects the size of the input buffer (in bytes) of the in memory
296 config PPC_EARLY_DEBUG_OPAL
298 depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
301 config PPC_EARLY_DEBUG_HVSI_VTERMNO
302 hex "vterm number to use with early debug HVSI"
303 depends on PPC_EARLY_DEBUG_LPAR_HVSI
306 You probably want 0x30000000 for your first serial port and
307 0x30000001 for your second one
309 config PPC_EARLY_DEBUG_OPAL_VTERMNO
310 hex "vterm number to use with OPAL early debug"
311 depends on PPC_EARLY_DEBUG_OPAL
314 This correspond to which /dev/hvcN you want to use for early
317 On OPAL v2, this will be 0 for network console and 1 or 2 for
318 the machine built-in serial ports.
320 config PPC_EARLY_DEBUG_44x_PHYSLOW
321 hex "Low 32 bits of early debug UART physical address"
322 depends on PPC_EARLY_DEBUG_44x
325 You probably want 0x40000200 for ebony boards and
326 0x40000300 for taishan
328 config PPC_EARLY_DEBUG_44x_PHYSHIGH
329 hex "EPRN of early debug UART physical address"
330 depends on PPC_EARLY_DEBUG_44x
333 config PPC_EARLY_DEBUG_40x_PHYSADDR
334 hex "Early debug UART physical address"
335 depends on PPC_EARLY_DEBUG_40x
338 config 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
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.
351 bool "Fault-injection capability for IOMMU"
352 depends on FAULT_INJECTION
353 depends on PCI || IBMVIO
355 Provide fault-injection capability for IOMMU. Each device can
356 be selectively enabled via the fail_iommu property.
358 If you are unsure, say N.
361 bool "Export kernel pagetable layout to userspace via debugfs"
362 depends on DEBUG_KERNEL && DEBUG_FS
364 This option exports the state of the kernel pagetables to a
365 debugfs file. This is only useful for kernel developers who are
366 working in architecture specific areas of the kernel - probably
367 not a good idea to enable this feature in a production kernel.
369 If you are unsure, say N.
373 depends on PPC_PTDUMP && PPC_BOOK3S_64
375 config PPC_FAST_ENDIAN_SWITCH
376 bool "Deprecated fast endian-switch syscall"
377 depends on DEBUG_KERNEL && PPC_BOOK3S_64
379 If you're unsure what this is, say N.