blob: 5ad149b47e340cf3ef85b15fc23f6a10f0f9656a [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
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.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000108
109config BDI_SWITCH
110 bool "Include BDI-2000 user context switcher"
Paul Mackerrasff642082005-10-10 22:15:52 +1000111 depends on DEBUG_KERNEL && PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000112 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)"
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000119 depends PPC_OF && !PPC_ISERIES
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000120 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
Michael Ellerman485a2d52006-05-09 16:03:51 +1000129config PPC_EARLY_DEBUG
130 bool "Early debugging (dangerous)"
131
Michael Ellerman296167a2006-01-11 11:54:09 +1100132choice
Michael Ellerman485a2d52006-05-09 16:03:51 +1000133 prompt "Early debugging console"
134 depends on PPC_EARLY_DEBUG
Michael Ellerman296167a2006-01-11 11:54:09 +1100135 help
Michael Ellerman485a2d52006-05-09 16:03:51 +1000136 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_.
Michael Ellerman296167a2006-01-11 11:54:09 +1100139
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
Michael Ellermancc46bb92006-06-23 18:20:16 +1000153config PPC_EARLY_DEBUG_RTAS_PANEL
Michael Ellerman296167a2006-01-11 11:54:09 +1100154 bool "RTAS Panel"
155 depends on PPC_RTAS
156 help
157 Select this to enable early debugging via the RTAS panel.
158
Michael Ellermancc46bb92006-06-23 18:20:16 +1000159config 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
Michael Ellerman296167a2006-01-11 11:54:09 +1100166config 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
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000181endmenu