sparc64: Fix SMP bootup with CONFIG_STACK_DEBUG or ftrace.
[linux-2.6] / arch / sh / Kconfig.debug
1 menu "Kernel hacking"
2
3 config TRACE_IRQFLAGS_SUPPORT
4         def_bool y
5
6 source "lib/Kconfig.debug"
7
8 config SH_STANDARD_BIOS
9         bool "Use LinuxSH standard BIOS"
10         depends on SUPERH32
11         help
12           Say Y here if your target has the gdb-sh-stub
13           package from www.m17n.org (or any conforming standard LinuxSH BIOS)
14           in FLASH or EPROM.  The kernel will use standard BIOS calls during
15           boot for various housekeeping tasks (including calls to read and
16           write characters to a system console, get a MAC address from an
17           on-board Ethernet interface, and shut down the hardware).  Note this
18           does not work with machines with an existing operating system in
19           mask ROM and no flash (WindowsCE machines fall in this category).
20           If unsure, say N.
21
22 config EARLY_SCIF_CONSOLE
23         bool "Use early SCIF console"
24         help
25           This enables an early console using a fixed SCIF port. This can
26           be used by platforms that are either not running the SH
27           standard BIOS, or do not wish to use the BIOS callbacks for the
28           serial I/O.
29
30 config EARLY_SCIF_CONSOLE_PORT
31         hex
32         depends on EARLY_SCIF_CONSOLE
33         default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
34         default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721
35         default "0xf8420000" if CPU_SUBTYPE_SH7619
36         default "0xff804000" if CPU_SUBTYPE_MXG
37         default "0xffc30000" if CPU_SUBTYPE_SHX3
38         default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 || \
39                                 CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 || \
40                                 CPU_SUBTYPE_SH7343
41         default "0xffe80000" if CPU_SH4
42         default "0xffea0000" if CPU_SUBTYPE_SH7785
43         default "0xfffe8000" if CPU_SUBTYPE_SH7203
44         default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
45         default "0x00000000"
46
47 config EARLY_PRINTK
48         bool "Early printk support"
49         depends on SH_STANDARD_BIOS || EARLY_SCIF_CONSOLE
50         help
51           Say Y here to redirect kernel printk messages to the serial port
52           used by the SH-IPL bootloader, starting very early in the boot
53           process and ending when the kernel's serial console is initialised.
54           This option is only useful porting the kernel to a new machine,
55           when the kernel may crash or hang before the serial console is
56           initialised. If unsure, say N.
57
58           On devices that are running SH-IPL and want to keep the port
59           initialization consistent while not using the BIOS callbacks,
60           select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using
61           the kernel command line option to toggle back and forth.
62
63 config DEBUG_BOOTMEM
64         depends on DEBUG_KERNEL
65         bool "Debug BOOTMEM initialization"
66
67 config DEBUG_STACKOVERFLOW
68         bool "Check for stack overflows"
69         depends on DEBUG_KERNEL && SUPERH32
70         help
71           This option will cause messages to be printed if free stack space
72           drops below a certain limit.
73
74 config DEBUG_STACK_USAGE
75         bool "Stack utilization instrumentation"
76         depends on DEBUG_KERNEL
77         help
78           Enables the display of the minimum amount of free stack which each
79           task has ever had available in the sysrq-T and sysrq-P debug output.
80
81           This option will slow down process creation somewhat.
82
83 config 4KSTACKS
84         bool "Use 4Kb for kernel stacks instead of 8Kb"
85         depends on DEBUG_KERNEL && (MMU || BROKEN)
86         help
87           If you say Y here the kernel will use a 4Kb stacksize for the
88           kernel stack attached to each process/thread. This facilitates
89           running more threads on a system and also reduces the pressure
90           on the VM subsystem for higher order allocations. This option
91           will also use IRQ stacks to compensate for the reduced stackspace.
92
93 config IRQSTACKS
94         bool "Use separate kernel stacks when processing interrupts"
95         depends on DEBUG_KERNEL && SUPERH32
96         help
97           If you say Y here the kernel will use separate kernel stacks
98           for handling hard and soft interrupts.  This can help avoid
99           overflowing the process kernel stacks.
100
101 config SH_KGDB
102         bool "Include KGDB kernel debugger"
103         select FRAME_POINTER
104         select DEBUG_INFO
105         depends on CPU_SH3 || CPU_SH4
106         help
107           Include in-kernel hooks for kgdb, the Linux kernel source level
108           debugger.  See <http://kgdb.sourceforge.net/> for more information.
109           Unless you are intending to debug the kernel, say N here.
110
111 menu "KGDB configuration options"
112         depends on SH_KGDB
113
114 config MORE_COMPILE_OPTIONS
115         bool "Add any additional compile options"
116         help
117           If you want to add additional CFLAGS to the kernel build, enable this
118           option and then enter what you would like to add in the next question.
119           Note however that -g is already appended with the selection of KGDB.
120
121 config COMPILE_OPTIONS
122         string "Additional compile arguments"
123         depends on MORE_COMPILE_OPTIONS
124
125 config KGDB_NMI
126         def_bool n
127         prompt "Enter KGDB on NMI"
128
129 config SH_KGDB_CONSOLE
130         def_bool n
131         prompt "Console messages through GDB"
132         depends on !SERIAL_SH_SCI_CONSOLE && SERIAL_SH_SCI=y
133         select SERIAL_CORE_CONSOLE
134
135 config KGDB_SYSRQ
136         def_bool y
137         prompt "Allow SysRq 'G' to enter KGDB"
138         depends on MAGIC_SYSRQ
139
140 comment "Serial port setup"
141
142 config KGDB_DEFPORT
143         int "Port number (ttySCn)"
144         default "1"
145
146 config KGDB_DEFBAUD
147         int "Baud rate"
148         default "115200"
149
150 choice
151         prompt "Parity"
152         depends on SH_KGDB
153         default KGDB_DEFPARITY_N
154
155 config KGDB_DEFPARITY_N
156         bool "None"
157
158 config KGDB_DEFPARITY_E
159         bool "Even"
160
161 config KGDB_DEFPARITY_O
162         bool "Odd"
163
164 endchoice
165
166 choice
167         prompt "Data bits"
168         depends on SH_KGDB
169         default KGDB_DEFBITS_8
170
171 config KGDB_DEFBITS_8
172         bool "8"
173
174 config KGDB_DEFBITS_7
175         bool "7"
176
177 endchoice
178
179 endmenu
180
181 if SUPERH64
182
183 config SH64_PROC_ASIDS
184         bool "Debug: report ASIDs through /proc/asids"
185         depends on PROC_FS && MMU
186
187 config SH64_SR_WATCH
188         bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
189
190 config POOR_MANS_STRACE
191         bool "Debug: enable rudimentary strace facility"
192         help
193           This option allows system calls to be traced to the console.  It also
194           aids in detecting kernel stack underflow.  It is useful for debugging
195           early-userland problems (e.g. init incurring fatal exceptions.)
196
197 config SH_ALPHANUMERIC
198         bool "Enable debug outputs to on-board alphanumeric display"
199         depends on SH_CAYMAN
200
201 config SH_NO_BSS_INIT
202         bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
203
204 endif
205
206 endmenu