mm-only debug patch...
[mmotm.git] / arch / sh / Kconfig.debug
blob55907af1dc256a83acec8f58115d080636a540b1
1 menu "Kernel hacking"
3 config TRACE_IRQFLAGS_SUPPORT
4         def_bool y
6 source "lib/Kconfig.debug"
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.
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.
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 "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"
50 config 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.
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.
66 config 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.
75 config 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.
82           This option will slow down process creation somewhat.
84 config 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.
94 config 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.
102 config 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.
112           Those looking for more verbose debugging output should say Y.
114 config 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.
122 config 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.
131           For all other cases, say N. If this option seems perplexing, or
132           you aren't sure, say N.
134 config SH64_SR_WATCH
135         bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
136         depends on SUPERH64
138 config MCOUNT
139         def_bool y
140         depends on SUPERH32
141         depends on STACK_DEBUG || FUNCTION_TRACER
143 endmenu