blob: 36f4b1f7066d193f9290e11a88a89bd5dc4cdb5d [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
Paul Mundt2ad69902008-03-13 12:52:44 +090041 default "0xffe80000" if CPU_SH4
Magnus Damm5cbc3af2007-09-10 12:05:10 +090042 default "0xffea0000" if CPU_SUBTYPE_SH7785
Paul Mundt6d01f512007-11-26 18:17:21 +090043 default "0xfffe8000" if CPU_SUBTYPE_SH7203
Paul Mundta8f67f42007-11-26 19:54:02 +090044 default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
Paul Mundt8d797cd2007-08-07 18:52:29 +090045 default "0x00000000"
Linus Torvalds1da177e2005-04-16 15:20:36 -070046
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
Paul Mundt6fc21b82006-11-27 12:10:23 +090058 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
Paul Mundt91e656a2007-06-01 14:19:22 +090063config DEBUG_BOOTMEM
64 depends on DEBUG_KERNEL
65 bool "Debug BOOTMEM initialization"
66
Paul Mundtd153ea82006-09-27 18:20:16 +090067config DEBUG_STACKOVERFLOW
68 bool "Check for stack overflows"
Paul Mundt5db141a2007-11-21 17:47:15 +090069 depends on DEBUG_KERNEL && SUPERH32
Paul Mundtd153ea82006-09-27 18:20:16 +090070 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
Paul Mundta6a311392006-09-27 18:22:14 +090083config 4KSTACKS
84 bool "Use 4Kb for kernel stacks instead of 8Kb"
Paul Mundt1f8404e2008-06-02 13:48:59 +090085 depends on DEBUG_KERNEL && (MMU || BROKEN)
Paul Mundta6a311392006-09-27 18:22:14 +090086 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
Paul Mundt110ed282007-11-02 12:16:51 +090093config IRQSTACKS
94 bool "Use separate kernel stacks when processing interrupts"
Paul Mundt5db141a2007-11-21 17:47:15 +090095 depends on DEBUG_KERNEL && SUPERH32
Paul Mundt110ed282007-11-02 12:16:51 +090096 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
Paul Mundtfa5da2f2007-03-08 17:27:37 +0900101config SH_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102 bool "Include KGDB kernel debugger"
Paul Mundt2549b322006-09-27 16:22:33 +0900103 select FRAME_POINTER
Paul Mundtfa5da2f2007-03-08 17:27:37 +0900104 select DEBUG_INFO
Paul Mundt357d5942007-06-11 15:32:07 +0900105 depends on CPU_SH3 || CPU_SH4
Linus Torvalds1da177e2005-04-16 15:20:36 -0700106 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"
Paul Mundtfa5da2f2007-03-08 17:27:37 +0900112 depends on SH_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113
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
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900126 def_bool n
127 prompt "Enter KGDB on NMI"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129config SH_KGDB_CONSOLE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900130 def_bool n
131 prompt "Console messages through GDB"
Paul Mundt808bde22007-11-06 17:34:33 +0900132 depends on !SERIAL_SH_SCI_CONSOLE && SERIAL_SH_SCI=y
Paul Mundtfa5da2f2007-03-08 17:27:37 +0900133 select SERIAL_CORE_CONSOLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134
135config KGDB_SYSRQ
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900136 def_bool y
137 prompt "Allow SysRq 'G' to enter KGDB"
Paul Mundt0acc7292007-11-06 17:50:07 +0900138 depends on MAGIC_SYSRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140comment "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"
Paul Mundtfa5da2f2007-03-08 17:27:37 +0900152 depends on SH_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153 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"
Paul Mundtfa5da2f2007-03-08 17:27:37 +0900168 depends on SH_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169 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
Paul Mundt8214d522007-11-21 16:58:56 +0900181if 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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206endmenu