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