arm64: kernel: pause/unpause function graph tracer in cpu_suspend()
[linux/fpc-iii.git] / arch / powerpc / Kconfig.debug
blob3a510f4a6b68cfe56f711ed81d46fcf1b2e0ee72
1 menu "Kernel hacking"
3 source "lib/Kconfig.debug"
5 config PPC_DISABLE_WERROR
6         bool "Don't build arch/powerpc code with -Werror"
7         default n
8         help
9           This option tells the compiler NOT to build the code under
10           arch/powerpc with the -Werror flag (which means warnings
11           are treated as errors).
13           Only enable this if you are hitting a build failure in the
14           arch/powerpc code caused by a warning, and you don't feel
15           inclined to fix it.
17 config PPC_WERROR
18         bool
19         depends on !PPC_DISABLE_WERROR
20         default y
22 config STRICT_MM_TYPECHECKS
23         bool "Do extra type checking on mm types"
24         default n
25         help
26           This option turns on extra type checking for some mm related types.
28           If you don't know what this means, say N.
30 config PRINT_STACK_DEPTH
31         int "Stack depth to print" if DEBUG_KERNEL
32         default 64
33         help
34           This option allows you to set the stack depth that the kernel
35           prints in stack traces. This can be useful if your display is
36           too small and stack traces cause important information to
37           scroll off the screen.
39 config HCALL_STATS
40         bool "Hypervisor call instrumentation"
41         depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
42         help
43           Adds code to keep track of the number of hypervisor calls made and
44           the amount of time spent in hypervisor calls.  Wall time spent in
45           each call is always calculated, and if available CPU cycles spent
46           are also calculated.  A directory named hcall_inst is added at the
47           root of the debugfs filesystem.  Within the hcall_inst directory
48           are files that contain CPU specific call statistics.
50           This option will add a small amount of overhead to all hypervisor
51           calls.
53 config PPC_EMULATED_STATS
54         bool "Emulated instructions tracking"
55         depends on DEBUG_FS
56         help
57           Adds code to keep track of the number of instructions that are
58           emulated by the in-kernel emulator. Counters for the various classes
59           of emulated instructions are available under
60           powerpc/emulated_instructions/ in the root of the debugfs file
61           system. Optionally (controlled by
62           powerpc/emulated_instructions/do_warn in debugfs), rate-limited
63           warnings can be printed to the console when instructions are
64           emulated.
66 config CODE_PATCHING_SELFTEST
67         bool "Run self-tests of the code-patching code."
68         depends on DEBUG_KERNEL
69         default n
71 config FTR_FIXUP_SELFTEST
72         bool "Run self-tests of the feature-fixup code."
73         depends on DEBUG_KERNEL
74         default n
76 config MSI_BITMAP_SELFTEST
77         bool "Run self-tests of the MSI bitmap code."
78         depends on DEBUG_KERNEL
79         default n
81 config XMON
82         bool "Include xmon kernel debugger"
83         depends on DEBUG_KERNEL
84         help
85           Include in-kernel hooks for the xmon kernel monitor/debugger.
86           Unless you are intending to debug the kernel, say N here.
87           Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
88           nothing will appear on the screen (xmon writes directly to the
89           framebuffer memory).
90           The cmdline option 'xmon' or 'xmon=early' will drop into xmon
91           very early during boot. 'xmon=on' will just enable the xmon
92           debugger hooks.  'xmon=off' will disable the debugger hooks
93           if CONFIG_XMON_DEFAULT is set.
94           xmon will print a backtrace on the very first invocation.
95           'xmon=nobt' will disable this autobacktrace.
97 config XMON_DEFAULT
98         bool "Enable xmon by default"
99         depends on XMON
100         help
101           xmon is normally disabled unless booted with 'xmon=on'.
102           Use 'xmon=off' to disable xmon init during runtime.
104 config XMON_DISASSEMBLY
105         bool "Include disassembly support in xmon"
106         depends on XMON
107         default y
108         help
109           Include support for disassembling in xmon. You probably want
110           to say Y here, unless you're building for a memory-constrained
111           system.
113 config DEBUGGER
114         bool
115         depends on KGDB || XMON
116         default y
118 config BDI_SWITCH
119         bool "Include BDI-2000 user context switcher"
120         depends on DEBUG_KERNEL && PPC32
121         help
122           Include in-kernel support for the Abatron BDI2000 debugger.
123           Unless you are intending to debug the kernel with one of these
124           machines, say N here.
126 config BOOTX_TEXT
127         bool "Support for early boot text console (BootX or OpenFirmware only)"
128         depends on PPC_BOOK3S
129         help
130           Say Y here to see progress messages from the boot firmware in text
131           mode. Requires either BootX or Open Firmware.
133 config PPC_EARLY_DEBUG
134         bool "Early debugging (dangerous)"
135         help
136           Say Y to enable some early debugging facilities that may be available
137           for your processor/board combination. Those facilities are hacks
138           intended to debug problems early during boot, this should not be
139           enabled in a production kernel.
140           Note that enabling this will also cause the kernel default log level
141           to be pushed to max automatically very early during boot
143 choice
144         prompt "Early debugging console"
145         depends on PPC_EARLY_DEBUG
146         help
147           Use the selected console for early debugging. Careful, if you
148           enable debugging for the wrong type of machine your kernel
149           _will not boot_.
151 config PPC_EARLY_DEBUG_BOOTX
152         bool "BootX or OpenFirmware"
153         depends on BOOTX_TEXT
154         help
155           Select this to enable early debugging for a machine using BootX
156           or OpenFirmware.
158 config PPC_EARLY_DEBUG_LPAR
159         bool "LPAR HV Console"
160         depends on PPC_PSERIES
161         help
162           Select this to enable early debugging for a machine with a HVC
163           console on vterm 0.
165 config PPC_EARLY_DEBUG_LPAR_HVSI
166         bool "LPAR HVSI Console"
167         depends on PPC_PSERIES
168         help
169           Select this to enable early debugging for a machine with a HVSI
170           console on a specified vterm.
172 config PPC_EARLY_DEBUG_G5
173         bool "Apple G5"
174         depends on PPC_PMAC64
175         help
176           Select this to enable early debugging for Apple G5 machines.
178 config PPC_EARLY_DEBUG_RTAS_PANEL
179         bool "RTAS Panel"
180         depends on PPC_RTAS
181         help
182           Select this to enable early debugging via the RTAS panel.
184 config PPC_EARLY_DEBUG_RTAS_CONSOLE
185         bool "RTAS Console"
186         depends on PPC_RTAS
187         select UDBG_RTAS_CONSOLE
188         help
189           Select this to enable early debugging via the RTAS console.
191 config PPC_EARLY_DEBUG_MAPLE
192         bool "Maple real mode"
193         depends on PPC_MAPLE
194         help
195           Select this to enable early debugging for Maple.
197 config PPC_EARLY_DEBUG_PAS_REALMODE
198         bool "PA Semi real mode"
199         depends on PPC_PASEMI
200         help
201           Select this to enable early debugging for PA Semi.
202           Output will be on UART0.
204 config PPC_EARLY_DEBUG_44x
205         bool "Early serial debugging for IBM/AMCC 44x CPUs"
206         depends on 44x
207         help
208           Select this to enable early debugging for IBM 44x chips via the
209           inbuilt serial port.  If you enable this, ensure you set
210           PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
212 config PPC_EARLY_DEBUG_40x
213         bool "Early serial debugging for IBM/AMCC 40x CPUs"
214         depends on 40x
215         help
216           Select this to enable early debugging for IBM 40x chips via the
217           inbuilt serial port. This works on chips with a 16550 compatible
218           UART. Xilinx chips with uartlite cannot use this option.
220 config PPC_EARLY_DEBUG_CPM
221         bool "Early serial debugging for Freescale CPM-based serial ports"
222         depends on SERIAL_CPM
223         select PIN_TLB if PPC_8xx
224         help
225           Select this to enable early debugging for Freescale chips
226           using a CPM-based serial port.  This assumes that the bootwrapper
227           has run, and set up the CPM in a particular way.
229 config PPC_EARLY_DEBUG_USBGECKO
230         bool "Early debugging through the USB Gecko adapter"
231         depends on GAMECUBE_COMMON
232         select USBGECKO_UDBG
233         help
234           Select this to enable early debugging for Nintendo GameCube/Wii
235           consoles via an external USB Gecko adapter.
237 config PPC_EARLY_DEBUG_PS3GELIC
238         bool "Early debugging through the PS3 Ethernet port"
239         depends on PPC_PS3
240         select PS3GELIC_UDBG
241         help
242           Select this to enable early debugging for the PlayStation3 via
243           UDP broadcasts sent out through the Ethernet port.
245 config PPC_EARLY_DEBUG_OPAL_RAW
246         bool "OPAL raw console"
247         depends on HVC_OPAL
248         help
249           Select this to enable early debugging for the PowerNV platform
250           using a "raw" console
252 config PPC_EARLY_DEBUG_OPAL_HVSI
253         bool "OPAL hvsi console"
254         depends on HVC_OPAL
255         help
256           Select this to enable early debugging for the PowerNV platform
257           using an "hvsi" console
259 config PPC_EARLY_DEBUG_MEMCONS
260         bool "In memory console"
261         help
262           Select this to enable early debugging using an in memory console.
263           This console provides input and output buffers stored within the
264           kernel BSS and should be safe to select on any system. A debugger
265           can then be used to read kernel output or send input to the console.
266 endchoice
268 config PPC_MEMCONS_OUTPUT_SIZE
269         int "In memory console output buffer size"
270         depends on PPC_EARLY_DEBUG_MEMCONS
271         default 4096
272         help
273           Selects the size of the output buffer (in bytes) of the in memory
274           console.
276 config PPC_MEMCONS_INPUT_SIZE
277         int "In memory console input buffer size"
278         depends on PPC_EARLY_DEBUG_MEMCONS
279         default 128
280         help
281           Selects the size of the input buffer (in bytes) of the in memory
282           console.
284 config PPC_EARLY_DEBUG_OPAL
285         def_bool y
286         depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
289 config PPC_EARLY_DEBUG_HVSI_VTERMNO
290         hex "vterm number to use with early debug HVSI"
291         depends on PPC_EARLY_DEBUG_LPAR_HVSI
292         default "0x30000000"
293         help
294           You probably want 0x30000000 for your first serial port and
295           0x30000001 for your second one
297 config PPC_EARLY_DEBUG_OPAL_VTERMNO
298         hex "vterm number to use with OPAL early debug"
299         depends on PPC_EARLY_DEBUG_OPAL
300         default "0"
301         help
302           This correspond to which /dev/hvcN you want to use for early
303           debug.
305           On OPAL v2, this will be 0 for network console and 1 or 2 for
306           the machine built-in serial ports.
308 config PPC_EARLY_DEBUG_44x_PHYSLOW
309         hex "Low 32 bits of early debug UART physical address"
310         depends on PPC_EARLY_DEBUG_44x
311         default "0x40000200"
312         help
313           You probably want 0x40000200 for ebony boards and
314           0x40000300 for taishan
316 config PPC_EARLY_DEBUG_44x_PHYSHIGH
317         hex "EPRN of early debug UART physical address"
318         depends on PPC_EARLY_DEBUG_44x
319         default "0x1"
321 config PPC_EARLY_DEBUG_40x_PHYSADDR
322         hex "Early debug UART physical address"
323         depends on PPC_EARLY_DEBUG_40x
324         default "0xef600300"
326 config PPC_EARLY_DEBUG_CPM_ADDR
327         hex "CPM UART early debug transmit descriptor address"
328         depends on PPC_EARLY_DEBUG_CPM
329         default "0xfa202008" if PPC_EP88XC
330         default "0xf0001ff8" if CPM2
331         default "0xff002008" if CPM1
332         help
333           This specifies the address of the transmit descriptor
334           used for early debug output.  Because it is needed before
335           platform probing is done, all platforms selected must
336           share the same address.
338 config STRICT_DEVMEM
339         def_bool y
340         prompt "Filter access to /dev/mem"
341         help
342           This option restricts access to /dev/mem.  If this option is
343           disabled, you allow userspace access to all memory, including
344           kernel and userspace memory. Accidental memory access is likely
345           to be disastrous.
346           Memory access is required for experts who want to debug the kernel.
348           If you are unsure, say Y.
350 config 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.
357           If you are unsure, say N.
359 endmenu