Merge branch 'master' of /home/cbou/linux-2.6
[pandora-kernel.git] / arch / powerpc / Kconfig.debug
1 menu "Kernel hacking"
2
3 source "lib/Kconfig.debug"
4
5 config DEBUG_STACKOVERFLOW
6         bool "Check for stack overflows"
7         depends on DEBUG_KERNEL
8         help
9           This option will cause messages to be printed if free stack space
10           drops below a certain limit.
11
12 config DEBUG_STACK_USAGE
13         bool "Stack utilization instrumentation"
14         depends on DEBUG_KERNEL
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
21 config DEBUG_PAGEALLOC
22         bool "Debug page memory allocations"
23         depends on DEBUG_KERNEL && !HIBERNATION
24         help
25           Unmap pages from the kernel linear mapping after free_pages().
26           This results in a large slowdown, but helps to find certain types
27           of memory corruptions.
28
29
30 config HCALL_STATS
31         bool "Hypervisor call instrumentation"
32         depends on PPC_PSERIES && DEBUG_FS
33         help
34           Adds code to keep track of the number of hypervisor calls made and
35           the amount of time spent in hypervisor calls.  Wall time spent in
36           each call is always calculated, and if available CPU cycles spent
37           are also calculated.  A directory named hcall_inst is added at the
38           root of the debugfs filesystem.  Within the hcall_inst directory
39           are files that contain CPU specific call statistics.
40
41           This option will add a small amount of overhead to all hypervisor
42           calls.
43
44 config CODE_PATCHING_SELFTEST
45         bool "Run self-tests of the code-patching code."
46         depends on DEBUG_KERNEL
47         default n
48
49 config FTR_FIXUP_SELFTEST
50         bool "Run self-tests of the feature-fixup code."
51         depends on DEBUG_KERNEL
52         default n
53
54 config XMON
55         bool "Include xmon kernel debugger"
56         depends on DEBUG_KERNEL
57         help
58           Include in-kernel hooks for the xmon kernel monitor/debugger.
59           Unless you are intending to debug the kernel, say N here.
60           Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
61           nothing will appear on the screen (xmon writes directly to the
62           framebuffer memory).
63           The cmdline option 'xmon' or 'xmon=early' will drop into xmon
64           very early during boot. 'xmon=on' will just enable the xmon
65           debugger hooks.  'xmon=off' will disable the debugger hooks
66           if CONFIG_XMON_DEFAULT is set.
67           xmon will print a backtrace on the very first invocation.
68           'xmon=nobt' will disable this autobacktrace.
69
70 config XMON_DEFAULT
71         bool "Enable xmon by default"
72         depends on XMON
73         help
74           xmon is normally disabled unless booted with 'xmon=on'.
75           Use 'xmon=off' to disable xmon init during runtime.
76
77 config XMON_DISASSEMBLY
78         bool "Include disassembly support in xmon"
79         depends on XMON
80         default y
81         help
82           Include support for disassembling in xmon. You probably want
83           to say Y here, unless you're building for a memory-constrained
84           system.
85
86 config DEBUGGER
87         bool
88         depends on KGDB || XMON
89         default y
90
91 config IRQSTACKS
92         bool "Use separate kernel stacks when processing interrupts"
93         help
94           If you say Y here the kernel will use separate kernel stacks
95           for handling hard and soft interrupts.  This can help avoid
96           overflowing the process kernel stacks.
97
98 config VIRQ_DEBUG
99         bool "Expose hardware/virtual IRQ mapping via debugfs"
100         depends on DEBUG_FS && PPC_MERGE
101         help
102           This option will show the mapping relationship between hardware irq
103           numbers and virtual irq numbers. The mapping is exposed via debugfs
104           in the file powerpc/virq_mapping.
105
106           If you don't know what this means you don't need it.
107
108 config BDI_SWITCH
109         bool "Include BDI-2000 user context switcher"
110         depends on DEBUG_KERNEL && PPC32
111         help
112           Include in-kernel support for the Abatron BDI2000 debugger.
113           Unless you are intending to debug the kernel with one of these
114           machines, say N here.
115
116 config BOOTX_TEXT
117         bool "Support for early boot text console (BootX or OpenFirmware only)"
118         depends on PPC_OF && PPC_MULTIPLATFORM
119         help
120           Say Y here to see progress messages from the boot firmware in text
121           mode. Requires either BootX or Open Firmware.
122
123 config PPC_EARLY_DEBUG
124         bool "Early debugging (dangerous)"
125         # PPC_EARLY_DEBUG on 440 leaves AS=1 mappings above the TLB high water
126         # mark, which doesn't work with current 440 KVM.
127         depends on !KVM
128         help
129           Say Y to enable some early debugging facilities that may be available
130           for your processor/board combination. Those facilities are hacks
131           intended to debug problems early during boot, this should not be
132           enabled in a production kernel.
133           Note that enabling this will also cause the kernel default log level
134           to be pushed to max automatically very early during boot
135
136 choice
137         prompt "Early debugging console"
138         depends on PPC_EARLY_DEBUG
139         help
140           Use the selected console for early debugging. Careful, if you
141           enable debugging for the wrong type of machine your kernel
142           _will not boot_.
143
144 config PPC_EARLY_DEBUG_LPAR
145         bool "LPAR HV Console"
146         depends on PPC_PSERIES
147         help
148           Select this to enable early debugging for a machine with a HVC
149           console on vterm 0.
150
151 config PPC_EARLY_DEBUG_G5
152         bool "Apple G5"
153         depends on PPC_PMAC64
154         help
155           Select this to enable early debugging for Apple G5 machines.
156
157 config PPC_EARLY_DEBUG_RTAS_PANEL
158         bool "RTAS Panel"
159         depends on PPC_RTAS
160         help
161           Select this to enable early debugging via the RTAS panel.
162
163 config PPC_EARLY_DEBUG_RTAS_CONSOLE
164         bool "RTAS Console"
165         depends on PPC_RTAS
166         select UDBG_RTAS_CONSOLE
167         help
168           Select this to enable early debugging via the RTAS console.
169
170 config PPC_EARLY_DEBUG_MAPLE
171         bool "Maple real mode"
172         depends on PPC_MAPLE
173         help
174           Select this to enable early debugging for Maple.
175
176 config PPC_EARLY_DEBUG_ISERIES
177         bool "iSeries HV Console"
178         depends on PPC_ISERIES
179         help
180           Select this to enable early debugging for legacy iSeries. You need
181           to hit "Ctrl-x Ctrl-x" to see the messages on the console.
182
183 config PPC_EARLY_DEBUG_PAS_REALMODE
184         bool "PA Semi real mode"
185         depends on PPC_PASEMI
186         help
187           Select this to enable early debugging for PA Semi.
188           Output will be on UART0.
189
190 config PPC_EARLY_DEBUG_BEAT
191         bool "Beat HV Console"
192         depends on PPC_CELLEB
193         select PPC_UDBG_BEAT
194         help
195           Select this to enable early debugging for Celleb with Beat.
196
197 config PPC_EARLY_DEBUG_44x
198         bool "Early serial debugging for IBM/AMCC 44x CPUs"
199         depends on 44x
200         help
201           Select this to enable early debugging for IBM 44x chips via the
202           inbuilt serial port.  If you enable this, ensure you set
203           PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
204
205 config PPC_EARLY_DEBUG_40x
206         bool "Early serial debugging for IBM/AMCC 40x CPUs"
207         depends on 40x
208         help
209           Select this to enable early debugging for IBM 40x chips via the
210           inbuilt serial port. This works on chips with a 16550 compatible
211           UART. Xilinx chips with uartlite cannot use this option.
212
213 config PPC_EARLY_DEBUG_CPM
214         bool "Early serial debugging for Freescale CPM-based serial ports"
215         depends on SERIAL_CPM
216         select PIN_TLB if PPC_8xx
217         help
218           Select this to enable early debugging for Freescale chips
219           using a CPM-based serial port.  This assumes that the bootwrapper
220           has run, and set up the CPM in a particular way.
221
222 endchoice
223
224 config PPC_EARLY_DEBUG_44x_PHYSLOW
225         hex "Low 32 bits of early debug UART physical address"
226         depends on PPC_EARLY_DEBUG_44x
227         default "0x40000200"
228         help
229           You probably want 0x40000200 for ebony boards and
230           0x40000300 for taishan
231
232 config PPC_EARLY_DEBUG_44x_PHYSHIGH
233         hex "EPRN of early debug UART physical address"
234         depends on PPC_EARLY_DEBUG_44x
235         default "0x1"
236
237 config PPC_EARLY_DEBUG_40x_PHYSADDR
238         hex "Early debug UART physical address"
239         depends on PPC_EARLY_DEBUG_40x
240         default "0xef600300"
241
242 config PPC_EARLY_DEBUG_CPM_ADDR
243         hex "CPM UART early debug transmit descriptor address"
244         depends on PPC_EARLY_DEBUG_CPM
245         default "0xfa202008" if PPC_EP88XC
246         default "0xf0001ff8" if CPM2
247         default "0xff002008" if CPM1
248         help
249           This specifies the address of the transmit descriptor
250           used for early debug output.  Because it is needed before
251           platform probing is done, all platforms selected must
252           share the same address.
253
254 endmenu