xref: /openbmc/linux/arch/sh/Kconfig.debug (revision 93dc544c)
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				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
47config 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
63config DEBUG_BOOTMEM
64	depends on DEBUG_KERNEL
65	bool "Debug BOOTMEM initialization"
66
67config 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
74config 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
83config 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
93config 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
101config 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
111menu "KGDB configuration options"
112	depends on SH_KGDB
113
114config 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
121config COMPILE_OPTIONS
122	string "Additional compile arguments"
123	depends on MORE_COMPILE_OPTIONS
124
125config KGDB_NMI
126	def_bool n
127	prompt "Enter KGDB on NMI"
128
129config 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
135config KGDB_SYSRQ
136	def_bool y
137	prompt "Allow SysRq 'G' to enter KGDB"
138	depends on MAGIC_SYSRQ
139
140comment "Serial port setup"
141
142config KGDB_DEFPORT
143	int "Port number (ttySCn)"
144	default "1"
145
146config KGDB_DEFBAUD
147	int "Baud rate"
148	default "115200"
149
150choice
151	prompt "Parity"
152	depends on SH_KGDB
153	default KGDB_DEFPARITY_N
154
155config KGDB_DEFPARITY_N
156	bool "None"
157
158config KGDB_DEFPARITY_E
159	bool "Even"
160
161config KGDB_DEFPARITY_O
162	bool "Odd"
163
164endchoice
165
166choice
167	prompt "Data bits"
168	depends on SH_KGDB
169	default KGDB_DEFBITS_8
170
171config KGDB_DEFBITS_8
172	bool "8"
173
174config KGDB_DEFBITS_7
175	bool "7"
176
177endchoice
178
179endmenu
180
181if SUPERH64
182
183config SH64_PROC_ASIDS
184	bool "Debug: report ASIDs through /proc/asids"
185	depends on PROC_FS
186
187config SH64_SR_WATCH
188	bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
189
190config 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
197config SH_ALPHANUMERIC
198	bool "Enable debug outputs to on-board alphanumeric display"
199	depends on SH_CAYMAN
200
201config SH_NO_BSS_INIT
202	bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
203
204endif
205
206endmenu
207