xref: /linux/arch/powerpc/Kconfig.debug (revision f24e9f586b377749dff37554696cf3a105540c94)
1menu "Kernel hacking"
2
3source "lib/Kconfig.debug"
4
5config DEBUG_STACKOVERFLOW
6	bool "Check for stack overflows"
7	depends on DEBUG_KERNEL && PPC64
8	help
9	  This option will cause messages to be printed if free stack space
10	  drops below a certain limit.
11
12config DEBUG_STACK_USAGE
13	bool "Stack utilization instrumentation"
14	depends on DEBUG_KERNEL && PPC64
15	help
16	  Enables the display of the minimum amount of free stack which each
17	  task has ever had available in the sysrq-T and sysrq-P debug output.
18
19	  This option will slow down process creation somewhat.
20
21config HCALL_STATS
22	bool "Hypervisor call instrumentation"
23	depends on PPC_PSERIES && DEBUG_FS
24	help
25	  Adds code to keep track of the number of hypervisor calls made and
26	  the amount of time spent in hypervisor callsr.  Wall time spent in
27	  each call is always calculated, and if available CPU cycles spent
28	  are also calculated.  A directory named hcall_inst is added at the
29	  root of the debugfs filesystem.  Within the hcall_inst directory
30	  are files that contain CPU specific call statistics.
31
32	  This option will add a small amount of overhead to all hypervisor
33	  calls.
34
35config DEBUGGER
36	bool "Enable debugger hooks"
37	depends on DEBUG_KERNEL
38	help
39	  Include in-kernel hooks for kernel debuggers. Unless you are
40	  intending to debug the kernel, say N here.
41
42config KGDB
43	bool "Include kgdb kernel debugger"
44	depends on DEBUGGER && (BROKEN || PPC_GEN550 || 4xx)
45	select DEBUG_INFO
46	help
47	  Include in-kernel hooks for kgdb, the Linux kernel source level
48	  debugger.  See <http://kgdb.sourceforge.net/> for more information.
49	  Unless you are intending to debug the kernel, say N here.
50
51choice
52	prompt "Serial Port"
53	depends on KGDB
54	default KGDB_TTYS1
55
56config KGDB_TTYS0
57	bool "ttyS0"
58
59config KGDB_TTYS1
60	bool "ttyS1"
61
62config KGDB_TTYS2
63	bool "ttyS2"
64
65config KGDB_TTYS3
66	bool "ttyS3"
67
68endchoice
69
70config KGDB_CONSOLE
71	bool "Enable serial console thru kgdb port"
72	depends on KGDB && 8xx || CPM2
73	help
74	  If you enable this, all serial console messages will be sent
75	  over the gdb stub.
76	  If unsure, say N.
77
78config XMON
79	bool "Include xmon kernel debugger"
80	depends on DEBUGGER && !PPC_ISERIES
81	help
82	  Include in-kernel hooks for the xmon kernel monitor/debugger.
83	  Unless you are intending to debug the kernel, say N here.
84	  Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
85	  nothing will appear on the screen (xmon writes directly to the
86	  framebuffer memory).
87	  The cmdline option 'xmon' or 'xmon=early' will drop into xmon
88	  very early during boot. 'xmon=on' will just enable the xmon
89	  debugger hooks.  'xmon=off' will disable the debugger hooks
90	  if CONFIG_XMON_DEFAULT is set.
91	  xmon will print a backtrace on the very first invocation.
92	  'xmon=nobt' will disable this autobacktrace.
93
94config XMON_DEFAULT
95	bool "Enable xmon by default"
96	depends on XMON
97	help
98	  xmon is normally disabled unless booted with 'xmon=on'.
99	  Use 'xmon=off' to disable xmon init during runtime.
100
101config IRQSTACKS
102	bool "Use separate kernel stacks when processing interrupts"
103	depends on PPC64
104	help
105	  If you say Y here the kernel will use separate kernel stacks
106	  for handling hard and soft interrupts.  This can help avoid
107	  overflowing the process kernel stacks.
108
109config BDI_SWITCH
110	bool "Include BDI-2000 user context switcher"
111	depends on DEBUG_KERNEL && PPC32
112	help
113	  Include in-kernel support for the Abatron BDI2000 debugger.
114	  Unless you are intending to debug the kernel with one of these
115	  machines, say N here.
116
117config BOOTX_TEXT
118	bool "Support for early boot text console (BootX or OpenFirmware only)"
119	depends PPC_OF && !PPC_ISERIES
120	help
121	  Say Y here to see progress messages from the boot firmware in text
122	  mode. Requires either BootX or Open Firmware.
123
124config SERIAL_TEXT_DEBUG
125	bool "Support for early boot texts over serial port"
126	depends on 4xx || LOPEC || MV64X60 || PPLUS || PRPMC800 || \
127		PPC_GEN550 || PPC_MPC52xx
128
129config PPC_EARLY_DEBUG
130	bool "Early debugging (dangerous)"
131
132choice
133	prompt "Early debugging console"
134	depends on PPC_EARLY_DEBUG
135	help
136	  Use the selected console for early debugging. Careful, if you
137	  enable debugging for the wrong type of machine your kernel
138	  _will not boot_.
139
140config PPC_EARLY_DEBUG_LPAR
141	bool "LPAR HV Console"
142	depends on PPC_PSERIES
143	help
144	  Select this to enable early debugging for a machine with a HVC
145	  console on vterm 0.
146
147config PPC_EARLY_DEBUG_G5
148	bool "Apple G5"
149	depends on PPC_PMAC64
150	help
151	  Select this to enable early debugging for Apple G5 machines.
152
153config PPC_EARLY_DEBUG_RTAS_PANEL
154	bool "RTAS Panel"
155	depends on PPC_RTAS
156	help
157	  Select this to enable early debugging via the RTAS panel.
158
159config PPC_EARLY_DEBUG_RTAS_CONSOLE
160	bool "RTAS Console"
161	depends on PPC_RTAS
162	select UDBG_RTAS_CONSOLE
163	help
164	  Select this to enable early debugging via the RTAS console.
165
166config PPC_EARLY_DEBUG_MAPLE
167	bool "Maple real mode"
168	depends on PPC_MAPLE
169	help
170	  Select this to enable early debugging for Maple.
171
172config PPC_EARLY_DEBUG_ISERIES
173	bool "iSeries HV Console"
174	depends on PPC_ISERIES
175	help
176	  Select this to enable early debugging for legacy iSeries. You need
177	  to hit "Ctrl-x Ctrl-x" to see the messages on the console.
178
179endchoice
180
181endmenu
182