projects/linux·blob master · refs

373 lines · 11.4 KiB

1# SPDX-License-Identifier: GPL-2.0
2
3config PPC_DISABLE_WERROR
4 bool "Don't build arch/powerpc code with -Werror"
5 help
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).
9
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
12 inclined to fix it.
13
14config PPC_WERROR
15 bool
16 depends on !PPC_DISABLE_WERROR
17 default y
18
19config PRINT_STACK_DEPTH
20 int "Stack depth to print" if DEBUG_KERNEL
21 default 64
22 help
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.
27
28config HCALL_STATS
29 bool "Hypervisor call instrumentation"
30 depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
31 help
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.
38
39 This option will add a small amount of overhead to all hypervisor
40 calls.
41
42config PPC_EMULATED_STATS
43 bool "Emulated instructions tracking"
44 depends on DEBUG_FS
45 help
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
53 emulated.
54
55config CODE_PATCHING_SELFTEST
56 bool "Run self-tests of the code-patching code"
57 depends on DEBUG_KERNEL
58
59config JUMP_LABEL_FEATURE_CHECKS
60 bool "Enable use of jump label for cpu/mmu_has_feature()"
61 depends on JUMP_LABEL
62 default y
63 help
64 Selecting this options enables use of jump labels for some internal
65 feature checks. This should generate more optimal code for those
66 checks.
67
68config JUMP_LABEL_FEATURE_CHECK_DEBUG
69 bool "Do extra check on feature fixup calls"
70 depends on DEBUG_KERNEL && JUMP_LABEL_FEATURE_CHECKS
71 help
72 This tries to catch incorrect usage of cpu_has_feature() and
73 mmu_has_feature() in the code.
74
75 If you don't know what this means, say N.
76
77config FTR_FIXUP_SELFTEST
78 bool "Run self-tests of the feature-fixup code"
79 depends on DEBUG_KERNEL
80
81config MSI_BITMAP_SELFTEST
82 bool "Run self-tests of the MSI bitmap code"
83 depends on DEBUG_KERNEL
84
85config GUEST_STATE_BUFFER_TEST
86 def_tristate KUNIT_ALL_TESTS
87 prompt "Enable Guest State Buffer unit tests"
88 depends on KUNIT
89 depends on KVM_BOOK3S_HV_POSSIBLE
90 help
91 The Guest State Buffer is a data format specified in the PAPR.
92 It is by hcalls to communicate the state of L2 guests between
93 the L1 and L0 hypervisors. Enable unit tests for the library
94 used to create and use guest state buffers.
95
96config PPC_IRQ_SOFT_MASK_DEBUG
97 bool "Include extra checks for powerpc irq soft masking"
98 depends on PPC64
99
100config PPC_RFI_SRR_DEBUG
101 bool "Include extra checks for RFI SRR register validity"
102 depends on PPC_BOOK3S_64
103
104config XMON
105 bool "Include xmon kernel debugger"
106 depends on DEBUG_KERNEL
107 select CONSOLE_POLL if SERIAL_CPM_CONSOLE
108 help
109 Include in-kernel hooks for the xmon kernel monitor/debugger.
110 Unless you are intending to debug the kernel, say N here.
111 Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
112 nothing will appear on the screen (xmon writes directly to the
113 framebuffer memory).
114 The cmdline option 'xmon' or 'xmon=early' will drop into xmon
115 very early during boot. 'xmon=on' will just enable the xmon
116 debugger hooks. 'xmon=off' will disable the debugger hooks
117 if CONFIG_XMON_DEFAULT is set.
118 xmon will print a backtrace on the very first invocation.
119 'xmon=nobt' will disable this autobacktrace.
120
121config XMON_DEFAULT
122 bool "Enable xmon by default"
123 depends on XMON
124 help
125 xmon is normally disabled unless booted with 'xmon=on'.
126 Use 'xmon=off' to disable xmon init during runtime.
127
128config XMON_DISASSEMBLY
129 bool "Include disassembly support in xmon"
130 depends on XMON
131 default y
132 help
133 Include support for disassembling in xmon. You probably want
134 to say Y here, unless you're building for a memory-constrained
135 system.
136
137config XMON_DEFAULT_RO_MODE
138 bool "Restrict xmon to read-only operations by default"
139 depends on XMON
140 default y
141 help
142 Operate xmon in read-only mode. The cmdline options 'xmon=rw' and
143 'xmon=ro' override this default.
144
145config DEBUGGER
146 bool
147 depends on KGDB || XMON
148 default y
149
150config BDI_SWITCH
151 bool "Include BDI-2000 user context switcher"
152 depends on DEBUG_KERNEL && PPC32
153 help
154 Include in-kernel support for the Abatron BDI2000 debugger.
155 Unless you are intending to debug the kernel with one of these
156 machines, say N here.
157
158config BOOTX_TEXT
159 bool "Support for early boot text console (BootX or OpenFirmware only)"
160 depends on PPC_BOOK3S
161 select FONT_SUN8x16
162 select FONT_SUPPORT
163 help
164 Say Y here to see progress messages from the boot firmware in text
165 mode. Requires either BootX or Open Firmware.
166
167config PPC_EARLY_DEBUG
168 bool "Early debugging (dangerous)"
169 help
170 Say Y to enable some early debugging facilities that may be available
171 for your processor/board combination. Those facilities are hacks
172 intended to debug problems early during boot, this should not be
173 enabled in a production kernel.
174 Note that enabling this will also cause the kernel default log level
175 to be pushed to max automatically very early during boot
176
177choice
178 prompt "Early debugging console"
179 depends on PPC_EARLY_DEBUG
180 help
181 Use the selected console for early debugging. Careful, if you
182 enable debugging for the wrong type of machine your kernel
183 _will not boot_.
184
185config PPC_EARLY_DEBUG_BOOTX
186 bool "BootX or OpenFirmware"
187 depends on BOOTX_TEXT
188 help
189 Select this to enable early debugging for a machine using BootX
190 or OpenFirmware.
191
192config PPC_EARLY_DEBUG_LPAR
193 bool "LPAR HV Console"
194 depends on PPC_PSERIES && HVC_CONSOLE
195 help
196 Select this to enable early debugging for a machine with a HVC
197 console on vterm 0.
198
199config PPC_EARLY_DEBUG_LPAR_HVSI
200 bool "LPAR HVSI Console"
201 depends on PPC_PSERIES && HVC_CONSOLE
202 help
203 Select this to enable early debugging for a machine with a HVSI
204 console on a specified vterm.
205
206config PPC_EARLY_DEBUG_G5
207 bool "Apple G5"
208 depends on PPC_PMAC64
209 help
210 Select this to enable early debugging for Apple G5 machines.
211
212config PPC_EARLY_DEBUG_RTAS_PANEL
213 bool "RTAS Panel"
214 depends on PPC_RTAS
215 help
216 Select this to enable early debugging via the RTAS panel.
217
218config PPC_EARLY_DEBUG_PAS_REALMODE
219 bool "PA Semi real mode"
220 depends on PPC_PASEMI
221 help
222 Select this to enable early debugging for PA Semi.
223 Output will be on UART0.
224
225config PPC_EARLY_DEBUG_44x
226 bool "Early serial debugging for IBM/AMCC 44x CPUs"
227 depends on 44x
228 help
229 Select this to enable early debugging for IBM 44x chips via the
230 inbuilt serial port. If you enable this, ensure you set
231 PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
232
233config PPC_EARLY_DEBUG_CPM
234 bool "Early serial debugging for Freescale CPM-based serial ports"
235 depends on SERIAL_CPM=y
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 help
253 Select this to enable early debugging for the PlayStation3 via
254 UDP broadcasts sent out through the Ethernet port.
255
256config PPC_EARLY_DEBUG_OPAL_RAW
257 bool "OPAL raw console"
258 depends on HVC_OPAL
259 help
260 Select this to enable early debugging for the PowerNV platform
261 using a "raw" console
262
263config PPC_EARLY_DEBUG_OPAL_HVSI
264 bool "OPAL hvsi console"
265 depends on HVC_OPAL
266 help
267 Select this to enable early debugging for the PowerNV platform
268 using an "hvsi" console
269
270config PPC_EARLY_DEBUG_MEMCONS
271 bool "In memory console"
272 help
273 Select this to enable early debugging using an in memory console.
274 This console provides input and output buffers stored within the
275 kernel BSS and should be safe to select on any system. A debugger
276 can then be used to read kernel output or send input to the console.
277
278config PPC_EARLY_DEBUG_16550
279 bool "Serial 16550"
280 depends on PPC_UDBG_16550
281 help
282 Select this to enable early debugging via Serial 16550 console
283endchoice
284
285config PPC_MEMCONS_OUTPUT_SIZE
286 int "In memory console output buffer size"
287 depends on PPC_EARLY_DEBUG_MEMCONS
288 default 4096
289 help
290 Selects the size of the output buffer (in bytes) of the in memory
291 console.
292
293config PPC_MEMCONS_INPUT_SIZE
294 int "In memory console input buffer size"
295 depends on PPC_EARLY_DEBUG_MEMCONS
296 default 128
297 help
298 Selects the size of the input buffer (in bytes) of the in memory
299 console.
300
301config PPC_EARLY_DEBUG_OPAL
302 def_bool y
303 depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
304
305config PPC_EARLY_DEBUG_HVSI_VTERMNO
306 hex "vterm number to use with early debug HVSI"
307 depends on PPC_EARLY_DEBUG_LPAR_HVSI
308 default "0x30000000"
309 help
310 You probably want 0x30000000 for your first serial port and
311 0x30000001 for your second one
312
313config PPC_EARLY_DEBUG_OPAL_VTERMNO
314 hex "vterm number to use with OPAL early debug"
315 depends on PPC_EARLY_DEBUG_OPAL
316 default "0"
317 help
318 This correspond to which /dev/hvcN you want to use for early
319 debug.
320
321 On OPAL v2, this will be 0 for network console and 1 or 2 for
322 the machine built-in serial ports.
323
324config PPC_EARLY_DEBUG_44x_PHYSLOW
325 hex "Low 32 bits of early debug UART physical address"
326 depends on PPC_EARLY_DEBUG_44x
327 default "0x40000200"
328 help
329 You probably want 0x40000200 for ebony boards and
330 0x40000300 for taishan
331
332config PPC_EARLY_DEBUG_44x_PHYSHIGH
333 hex "EPRN of early debug UART physical address"
334 depends on PPC_EARLY_DEBUG_44x
335 default "0x1"
336
337config PPC_EARLY_DEBUG_CPM_ADDR
338 hex "CPM UART early debug transmit descriptor address"
339 depends on PPC_EARLY_DEBUG_CPM
340 default "0xfa202008" if PPC_EP88XC
341 default "0xf0001ff8" if CPM2
342 default "0xff002008" if CPM1
343 help
344 This specifies the address of the transmit descriptor
345 used for early debug output. Because it is needed before
346 platform probing is done, all platforms selected must
347 share the same address.
348
349config PPC_EARLY_DEBUG_16550_PHYSADDR
350 hex "Early debug Serial 16550 physical address"
351 depends on PPC_EARLY_DEBUG_16550
352
353config PPC_EARLY_DEBUG_16550_STRIDE
354 int "Early debug Serial 16550 stride"
355 depends on PPC_EARLY_DEBUG_16550
356 default 1
357
358config FAIL_IOMMU
359 bool "Fault-injection capability for IOMMU"
360 depends on FAULT_INJECTION
361 depends on PCI || IBMVIO
362 help
363 Provide fault-injection capability for IOMMU. Each device can
364 be selectively enabled via the fail_iommu property.
365
366 If you are unsure, say N.
367
368config KASAN_SHADOW_OFFSET
369 hex
370 depends on KASAN
371 default 0xe0000000 if PPC32
372 default 0xa80e000000000000 if PPC_BOOK3S_64
373 default 0xa8001c0000000000 if PPC_BOOK3E_64