blob: 55907af1dc256a83acec8f58115d080636a540b1 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001menu "Kernel hacking"
2
Paul Mundtafbfb522006-12-04 18:17:28 +09003config TRACE_IRQFLAGS_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +09004 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +09005
Linus Torvalds1da177e2005-04-16 15:20:36 -07006source "lib/Kconfig.debug"
7
8config SH_STANDARD_BIOS
9 bool "Use LinuxSH standard BIOS"
Paul Mundt1a013e22008-04-25 11:54:06 +090010 depends on SUPERH32
Linus Torvalds1da177e2005-04-16 15:20:36 -070011 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"
Paul Mundt6fc21b82006-11-27 12:10:23 +090024 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
Paul Mundt8d797cd2007-08-07 18:52:29 +090031 hex
Paul Mundt6fc21b82006-11-27 12:10:23 +090032 depends on EARLY_SCIF_CONSOLE
Paul Mundt2ad69902008-03-13 12:52:44 +090033 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 || \
Yoshihiro Shimodaa4e1d082008-07-07 21:11:51 +090039 CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 || \
40 CPU_SUBTYPE_SH7343
Yoshihiro Shimodac01f0f12009-08-21 16:30:28 +090041 default "0xfe4c0000" if CPU_SUBTYPE_SH7757
Stuart Menefyfd78a762009-07-29 23:01:24 +090042 default "0xffeb0000" if CPU_SUBTYPE_SH7785
Paul Mundt8b27fc62009-06-16 03:58:25 +090043 default "0xffeb0000" if CPU_SUBTYPE_SH7786
Paul Mundt6d01f512007-11-26 18:17:21 +090044 default "0xfffe8000" if CPU_SUBTYPE_SH7203
Paul Mundta8f67f42007-11-26 19:54:02 +090045 default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
Magnus Damm5dafc912009-05-07 10:17:44 +000046 default "0xffe80000" if CPU_SH4
Rafael Ignacio Zurita05aa7882009-08-04 14:38:08 +090047 default "0xa4000150" if CPU_SH3
Paul Mundt8d797cd2007-08-07 18:52:29 +090048 default "0x00000000"
Linus Torvalds1da177e2005-04-16 15:20:36 -070049
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
Paul Mundt6fc21b82006-11-27 12:10:23 +090061 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
Paul Mundt9f14b842009-07-11 20:05:34 +090066config STACK_DEBUG
Paul Mundtd153ea82006-09-27 18:20:16 +090067 bool "Check for stack overflows"
Paul Mundt5db141a2007-11-21 17:47:15 +090068 depends on DEBUG_KERNEL && SUPERH32
Paul Mundtd153ea82006-09-27 18:20:16 +090069 help
70 This option will cause messages to be printed if free stack space
Paul Mundt9f14b842009-07-11 20:05:34 +090071 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.
Paul Mundtd153ea82006-09-27 18:20:16 +090074
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
Paul Mundta6a311392006-09-27 18:22:14 +090084config 4KSTACKS
85 bool "Use 4Kb for kernel stacks instead of 8Kb"
Paul Mundtb817f7e2008-09-20 20:16:35 +090086 depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
Paul Mundta6a311392006-09-27 18:22:14 +090087 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
Paul Mundt110ed282007-11-02 12:16:51 +090094config IRQSTACKS
95 bool "Use separate kernel stacks when processing interrupts"
Paul Mundt40c8bca2009-05-07 15:24:36 +090096 depends on DEBUG_KERNEL && SUPERH32 && BROKEN
Paul Mundt110ed282007-11-02 12:16:51 +090097 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
Paul Mundt5d2685d2008-12-17 15:56:06 +0900102config 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
Matt Flemingbd353862009-08-14 01:58:43 +0900114config 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
Paul Mundt740a3e62008-12-17 15:33:43 +0900122config 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
Paul Mundt8214d522007-11-21 16:58:56 +0900134config SH64_SR_WATCH
135 bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
Paul Mundtfe58cac2008-12-17 15:36:50 +0900136 depends on SUPERH64
Paul Mundt8214d522007-11-21 16:58:56 +0900137
Paul Mundt473d1cf2009-07-11 19:56:58 +0900138config MCOUNT
139 def_bool y
140 depends on SUPERH32
141 depends on STACK_DEBUG || FUNCTION_TRACER
142
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143endmenu