xref: /linux/arch/sh/Kconfig.debug (revision 913df4453f85f1fe79b35ecf3c9a0c0b707d22a2)
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 "0xfe4c0000" if CPU_SUBTYPE_SH7757
42	default "0xffeb0000" if CPU_SUBTYPE_SH7785
43	default "0xffeb0000" if CPU_SUBTYPE_SH7786
44	default "0xfffe8000" if CPU_SUBTYPE_SH7203
45	default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
46	default "0xffe80000" if CPU_SH4
47	default "0xa4000150" if CPU_SH3
48	default "0x00000000"
49
50config EARLY_PRINTK
51	bool "Early printk support"
52	depends on SH_STANDARD_BIOS || EARLY_SCIF_CONSOLE
53	help
54	  Say Y here to redirect kernel printk messages to the serial port
55	  used by the SH-IPL bootloader, starting very early in the boot
56	  process and ending when the kernel's serial console is initialised.
57	  This option is only useful porting the kernel to a new machine,
58	  when the kernel may crash or hang before the serial console is
59	  initialised. If unsure, say N.
60
61	  On devices that are running SH-IPL and want to keep the port
62	  initialization consistent while not using the BIOS callbacks,
63	  select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using
64	  the kernel command line option to toggle back and forth.
65
66config STACK_DEBUG
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. Saying Y here will add overhead to
72	  every function call and will therefore incur a major
73	  performance hit. Most users should say N.
74
75config DEBUG_STACK_USAGE
76	bool "Stack utilization instrumentation"
77	depends on DEBUG_KERNEL
78	help
79	  Enables the display of the minimum amount of free stack which each
80	  task has ever had available in the sysrq-T and sysrq-P debug output.
81
82	  This option will slow down process creation somewhat.
83
84config 4KSTACKS
85	bool "Use 4Kb for kernel stacks instead of 8Kb"
86	depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
87	help
88	  If you say Y here the kernel will use a 4Kb stacksize for the
89	  kernel stack attached to each process/thread. This facilitates
90	  running more threads on a system and also reduces the pressure
91	  on the VM subsystem for higher order allocations. This option
92	  will also use IRQ stacks to compensate for the reduced stackspace.
93
94config IRQSTACKS
95	bool "Use separate kernel stacks when processing interrupts"
96	depends on DEBUG_KERNEL && SUPERH32 && BROKEN
97	help
98	  If you say Y here the kernel will use separate kernel stacks
99	  for handling hard and soft interrupts.  This can help avoid
100	  overflowing the process kernel stacks.
101
102config DUMP_CODE
103	bool "Show disassembly of nearby code in register dumps"
104	depends on DEBUG_KERNEL && SUPERH32
105	default y if DEBUG_BUGVERBOSE
106	default n
107	help
108	  This prints out a code trace of the instructions leading up to
109	  the faulting instruction as a debugging aid. As this does grow
110	  the kernel in size a bit, most users will want to say N here.
111
112	  Those looking for more verbose debugging output should say Y.
113
114config DWARF_UNWINDER
115	bool "Enable the DWARF unwinder for stacktraces"
116	select FRAME_POINTER
117	default n
118	help
119	  Enabling this option will make stacktraces more accurate, at
120	  the cost of an increase in overall kernel size.
121
122config SH_NO_BSS_INIT
123	bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
124	depends on DEBUG_KERNEL
125	default n
126	help
127	  If running in painfully slow environments, such as an RTL
128	  simulation or from remote memory via SHdebug, where the memory
129	  can already be gauranteed to ber zeroed on boot, say Y.
130
131	  For all other cases, say N. If this option seems perplexing, or
132	  you aren't sure, say N.
133
134config SH64_SR_WATCH
135	bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
136	depends on SUPERH64
137
138config MCOUNT
139	def_bool y
140	depends on SUPERH32
141	depends on STACK_DEBUG || FUNCTION_TRACER
142
143endmenu
144