blob: ff16063d67ff13437fe5d661ad15cba1d3347948 [file] [log] [blame]
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001menu "Kernel hacking"
2
3source "lib/Kconfig.debug"
4
Paul Mackerrasff642082005-10-10 22:15:52 +10005config 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
Paul Mackerrasff642082005-10-10 22:15:52 +100012config 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
Mike Kravetz57852a82006-09-06 16:23:12 -070021config 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
Paul Mackerrasff642082005-10-10 22:15:52 +100035config 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
Paul Mackerras14cf11a2005-09-26 16:04:21 +100042config KGDB
43 bool "Include kgdb kernel debugger"
Paul Mackerrasff642082005-10-10 22:15:52 +100044 depends on DEBUGGER && (BROKEN || PPC_GEN550 || 4xx)
Paul Mackerras14cf11a2005-09-26 16:04:21 +100045 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"
Paul Mackerrasff642082005-10-10 22:15:52 +100080 depends on DEBUGGER && !PPC_ISERIES
Paul Mackerras14cf11a2005-09-26 16:04:21 +100081 help
82 Include in-kernel hooks for the xmon kernel monitor/debugger.
83 Unless you are intending to debug the kernel, say N here.
Paul Mackerrasff642082005-10-10 22:15:52 +100084 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.
Olaf Hering26c8af52006-09-08 16:29:21 +020091 xmon will print a backtrace on the very first invocation.
92 'xmon=nobt' will disable this autobacktrace.
Paul Mackerrasff642082005-10-10 22:15:52 +100093
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
Michael Ellermane0426042006-11-23 00:46:45 +0100101config XMON_DISASSEMBLY
102 bool "Include disassembly support in xmon"
103 depends on XMON
104 default y
105 help
106 Include support for disassembling in xmon. You probably want
107 to say Y here, unless you're building for a memory-constrained
108 system.
109
Paul Mackerrasff642082005-10-10 22:15:52 +1000110config IRQSTACKS
111 bool "Use separate kernel stacks when processing interrupts"
112 depends on PPC64
113 help
114 If you say Y here the kernel will use separate kernel stacks
115 for handling hard and soft interrupts. This can help avoid
116 overflowing the process kernel stacks.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000117
118config BDI_SWITCH
119 bool "Include BDI-2000 user context switcher"
Paul Mackerrasff642082005-10-10 22:15:52 +1000120 depends on DEBUG_KERNEL && PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000121 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.
125
126config BOOTX_TEXT
127 bool "Support for early boot text console (BootX or OpenFirmware only)"
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000128 depends PPC_OF && !PPC_ISERIES
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000129 help
130 Say Y here to see progress messages from the boot firmware in text
131 mode. Requires either BootX or Open Firmware.
132
133config SERIAL_TEXT_DEBUG
134 bool "Support for early boot texts over serial port"
135 depends on 4xx || LOPEC || MV64X60 || PPLUS || PRPMC800 || \
136 PPC_GEN550 || PPC_MPC52xx
137
Michael Ellerman485a2d52006-05-09 16:03:51 +1000138config PPC_EARLY_DEBUG
139 bool "Early debugging (dangerous)"
140
Michael Ellerman296167a2006-01-11 11:54:09 +1100141choice
Michael Ellerman485a2d52006-05-09 16:03:51 +1000142 prompt "Early debugging console"
143 depends on PPC_EARLY_DEBUG
Michael Ellerman296167a2006-01-11 11:54:09 +1100144 help
Michael Ellerman485a2d52006-05-09 16:03:51 +1000145 Use the selected console for early debugging. Careful, if you
146 enable debugging for the wrong type of machine your kernel
147 _will not boot_.
Michael Ellerman296167a2006-01-11 11:54:09 +1100148
149config PPC_EARLY_DEBUG_LPAR
150 bool "LPAR HV Console"
151 depends on PPC_PSERIES
152 help
153 Select this to enable early debugging for a machine with a HVC
154 console on vterm 0.
155
156config PPC_EARLY_DEBUG_G5
157 bool "Apple G5"
158 depends on PPC_PMAC64
159 help
160 Select this to enable early debugging for Apple G5 machines.
161
Michael Ellermancc46bb92006-06-23 18:20:16 +1000162config PPC_EARLY_DEBUG_RTAS_PANEL
Michael Ellerman296167a2006-01-11 11:54:09 +1100163 bool "RTAS Panel"
164 depends on PPC_RTAS
165 help
166 Select this to enable early debugging via the RTAS panel.
167
Michael Ellermancc46bb92006-06-23 18:20:16 +1000168config PPC_EARLY_DEBUG_RTAS_CONSOLE
169 bool "RTAS Console"
170 depends on PPC_RTAS
171 select UDBG_RTAS_CONSOLE
172 help
173 Select this to enable early debugging via the RTAS console.
174
Michael Ellerman296167a2006-01-11 11:54:09 +1100175config PPC_EARLY_DEBUG_MAPLE
176 bool "Maple real mode"
177 depends on PPC_MAPLE
178 help
179 Select this to enable early debugging for Maple.
180
181config PPC_EARLY_DEBUG_ISERIES
182 bool "iSeries HV Console"
183 depends on PPC_ISERIES
184 help
185 Select this to enable early debugging for legacy iSeries. You need
186 to hit "Ctrl-x Ctrl-x" to see the messages on the console.
187
188endchoice
189
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000190endmenu