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