blob: 9d9baeb0784fc030fe2d358b14f200755f276846 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux/SuperH Kernel Configuration"
7
8config SUPERH
Paul Mundtea0e1a92007-11-21 15:58:01 +09009 def_bool y
Paul Mundt7a440c92006-09-27 18:18:31 +090010 select EMBEDDED
David Brownell9483a572008-07-23 21:26:48 -070011 select HAVE_CLK
Sam Ravnborgec7748b2008-02-09 10:46:40 +010012 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050013 select HAVE_OPROFILE
Dmitry Baryshkov9de90ac2008-07-18 13:30:31 +040014 select HAVE_GENERIC_DMA_COHERENT
Paul Mundt21944782008-09-17 23:26:44 +090015 select HAVE_IOREMAP_PROT if MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 help
17 The SuperH is a RISC processor targeted for use in embedded systems
18 and consumer electronics; it was also used in the Sega Dreamcast
19 gaming console. The SuperH port has a home page at
20 <http://www.linux-sh.org/>.
21
Paul Mundt39d28a22007-11-08 18:39:33 +090022config SUPERH32
Paul Mundtea0e1a92007-11-21 15:58:01 +090023 def_bool !SUPERH64
Chris Smithd39f5452008-09-05 17:15:39 +090024 select HAVE_KPROBES
25 select HAVE_KRETPROBES
Paul Mundte7ab3cd2008-09-21 19:04:55 +090026 select HAVE_ARCH_TRACEHOOK
Paul Mundt694f94f2008-10-31 16:20:36 +090027 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090028 select HAVE_FTRACE_MCOUNT_RECORD
29 select HAVE_DYNAMIC_FTRACE
Paul Mundtea0e1a92007-11-21 15:58:01 +090030
31config SUPERH64
32 def_bool y if CPU_SH5
Paul Mundt39d28a22007-11-08 18:39:33 +090033
Paul Mundtf42b7e32008-07-29 20:12:51 +090034config ARCH_DEFCONFIG
35 string
36 default "arch/sh/configs/shx3_defconfig" if SUPERH32
37 default "arch/sh/configs/cayman_defconfig" if SUPERH64
38
Linus Torvalds1da177e2005-04-16 15:20:36 -070039config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090040 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070041
42config RWSEM_XCHGADD_ALGORITHM
43 bool
44
Paul Mundtfa691512007-03-08 19:41:21 +090045config GENERIC_BUG
46 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090047 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090048
Akinobu Mitae2268c72006-03-26 01:39:35 -080049config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090050 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080051
52config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090053 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080054
Linus Torvalds1da177e2005-04-16 15:20:36 -070055config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090056 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070057
Paul Mundt5093c9a2008-08-04 14:17:13 +090058config GENERIC_HARDIRQS_NO__DO_IRQ
59 def_bool y
Paul Mundtf9d62c02008-12-08 11:45:37 +090060 depends on SUPERH32 && (!SH_DREAMCAST && !SH_SH4202_MICRODEV && \
61 !SH_7751_SYSTEMH && !HD64461)
Paul Mundt5093c9a2008-08-04 14:17:13 +090062
Linus Torvalds1da177e2005-04-16 15:20:36 -070063config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090064 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070065
Magnus Damm2967dab2008-10-08 20:41:43 +090066config GENERIC_GPIO
67 def_bool n
68
Linus Torvalds1da177e2005-04-16 15:20:36 -070069config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090070 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070071
Paul Mundtcad82442006-01-16 22:14:19 -080072config GENERIC_IOMAP
73 bool
74
Paul Mundt45882142006-10-04 13:21:45 +090075config GENERIC_TIME
76 def_bool n
77
Paul Mundt57be2b42007-05-09 17:33:24 +090078config GENERIC_CLOCKEVENTS
79 def_bool n
80
Paul Mundt8c245942008-08-06 18:37:07 +090081config GENERIC_CLOCKEVENTS_BROADCAST
82 bool
83
Paul Mundtbdcab872008-08-04 14:09:15 +090084config GENERIC_LOCKBREAK
85 def_bool y
86 depends on SMP && PREEMPT
87
Paul Mundt357d5942007-06-11 15:32:07 +090088config SYS_SUPPORTS_PM
89 bool
90
Paul Mundt0a9b0db2007-01-24 21:56:20 +090091config SYS_SUPPORTS_APM_EMULATION
92 bool
Paul Mundt357d5942007-06-11 15:32:07 +090093 select SYS_SUPPORTS_PM
94
95config SYS_SUPPORTS_SMP
96 bool
97
98config SYS_SUPPORTS_NUMA
99 bool
100
101config SYS_SUPPORTS_PCI
102 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900103
Paul Mundtafbfb522006-12-04 18:17:28 +0900104config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900105 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900106
107config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900108 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900109
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900110config HAVE_LATENCYTOP_SUPPORT
111 def_bool y
112 depends on !SMP
113
David Howellsf0d1b0b2006-12-08 02:37:49 -0800114config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900115 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800116
117config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900118 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800119
Paul Mundte257ad02007-07-25 11:18:00 +0900120config ARCH_NO_VIRT_TO_BUS
121 def_bool y
122
Magnus Damme7cc9a72008-02-07 20:18:21 +0900123config IO_TRAPPED
124 bool
125
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126source "init/Kconfig"
127
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700128source "kernel/Kconfig.freezer"
129
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130menu "System type"
131
Paul Mundtb5f42db2007-11-08 18:38:14 +0900132#
133# Processor families
134#
135config CPU_SH2
136 bool
137
138config CPU_SH2A
139 bool
140 select CPU_SH2
141
142config CPU_SH3
143 bool
144 select CPU_HAS_INTEVT
145 select CPU_HAS_SR_RB
146
147config CPU_SH4
148 bool
149 select CPU_HAS_INTEVT
150 select CPU_HAS_SR_RB
151 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
152 select CPU_HAS_FPU if !CPU_SH4AL_DSP
153
154config CPU_SH4A
155 bool
156 select CPU_SH4
157
158config CPU_SH4AL_DSP
159 bool
160 select CPU_SH4A
161 select CPU_HAS_DSP
162
Paul Mundtea0e1a92007-11-21 15:58:01 +0900163config CPU_SH5
164 bool
165 select CPU_HAS_FPU
166
Paul Mundtb5f42db2007-11-08 18:38:14 +0900167config CPU_SHX2
168 bool
169
170config CPU_SHX3
171 bool
172
173choice
174 prompt "Processor sub-type selection"
175
176#
177# Processor subtypes
178#
179
180# SH-2 Processor Support
181
182config CPU_SUBTYPE_SH7619
183 bool "Support SH7619 processor"
184 select CPU_SH2
185
186# SH-2A Processor Support
187
Peter Griffin28259992008-11-28 22:48:20 +0900188config CPU_SUBTYPE_SH7201
189 bool "Support SH7201 processor"
190 select CPU_SH2A
191 select CPU_HAS_FPU
192
Paul Mundt6d01f512007-11-26 18:17:21 +0900193config CPU_SUBTYPE_SH7203
194 bool "Support SH7203 processor"
195 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900196 select CPU_HAS_FPU
Paul Mundt6d01f512007-11-26 18:17:21 +0900197
Paul Mundtb5f42db2007-11-08 18:38:14 +0900198config CPU_SUBTYPE_SH7206
199 bool "Support SH7206 processor"
200 select CPU_SH2A
201
Paul Mundta8f67f42007-11-26 19:54:02 +0900202config CPU_SUBTYPE_SH7263
203 bool "Support SH7263 processor"
204 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900205 select CPU_HAS_FPU
Paul Mundta8f67f42007-11-26 19:54:02 +0900206
Paul Mundt2ad69902008-03-13 12:52:44 +0900207config CPU_SUBTYPE_MXG
208 bool "Support MX-G processor"
209 select CPU_SH2A
210 help
211 Select MX-G if running on an R8A03022BG part.
212
Paul Mundtb5f42db2007-11-08 18:38:14 +0900213# SH-3 Processor Support
214
215config CPU_SUBTYPE_SH7705
216 bool "Support SH7705 processor"
217 select CPU_SH3
218
219config CPU_SUBTYPE_SH7706
220 bool "Support SH7706 processor"
221 select CPU_SH3
222 help
223 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
224
225config CPU_SUBTYPE_SH7707
226 bool "Support SH7707 processor"
227 select CPU_SH3
228 help
229 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
230
231config CPU_SUBTYPE_SH7708
232 bool "Support SH7708 processor"
233 select CPU_SH3
234 help
235 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
236 if you have a 100 Mhz SH-3 HD6417708R CPU.
237
238config CPU_SUBTYPE_SH7709
239 bool "Support SH7709 processor"
240 select CPU_SH3
241 help
242 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
243
244config CPU_SUBTYPE_SH7710
245 bool "Support SH7710 processor"
246 select CPU_SH3
247 select CPU_HAS_DSP
248 help
249 Select SH7710 if you have a SH3-DSP SH7710 CPU.
250
251config CPU_SUBTYPE_SH7712
252 bool "Support SH7712 processor"
253 select CPU_SH3
254 select CPU_HAS_DSP
255 help
256 Select SH7712 if you have a SH3-DSP SH7712 CPU.
257
258config CPU_SUBTYPE_SH7720
259 bool "Support SH7720 processor"
260 select CPU_SH3
261 select CPU_HAS_DSP
262 help
263 Select SH7720 if you have a SH3-DSP SH7720 CPU.
264
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900265config CPU_SUBTYPE_SH7721
266 bool "Support SH7721 processor"
267 select CPU_SH3
268 select CPU_HAS_DSP
269 help
270 Select SH7721 if you have a SH3-DSP SH7721 CPU.
271
Paul Mundtb5f42db2007-11-08 18:38:14 +0900272# SH-4 Processor Support
273
274config CPU_SUBTYPE_SH7750
275 bool "Support SH7750 processor"
276 select CPU_SH4
277 help
278 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
279
280config CPU_SUBTYPE_SH7091
281 bool "Support SH7091 processor"
282 select CPU_SH4
283 help
284 Select SH7091 if you have an SH-4 based Sega device (such as
285 the Dreamcast, Naomi, and Naomi 2).
286
287config CPU_SUBTYPE_SH7750R
288 bool "Support SH7750R processor"
289 select CPU_SH4
290
291config CPU_SUBTYPE_SH7750S
292 bool "Support SH7750S processor"
293 select CPU_SH4
294
295config CPU_SUBTYPE_SH7751
296 bool "Support SH7751 processor"
297 select CPU_SH4
298 help
299 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
300 or if you have a HD6417751R CPU.
301
302config CPU_SUBTYPE_SH7751R
303 bool "Support SH7751R processor"
304 select CPU_SH4
305
306config CPU_SUBTYPE_SH7760
307 bool "Support SH7760 processor"
308 select CPU_SH4
309
310config CPU_SUBTYPE_SH4_202
311 bool "Support SH4-202 processor"
312 select CPU_SH4
313
314# SH-4A Processor Support
315
Paul Mundt178dd0c2008-04-09 17:56:18 +0900316config CPU_SUBTYPE_SH7723
317 bool "Support SH7723 processor"
318 select CPU_SH4A
319 select CPU_SHX2
320 select ARCH_SPARSEMEM_ENABLE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900321 help
322 Select SH7723 if you have an SH-MobileR2 CPU.
323
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900324config CPU_SUBTYPE_SH7763
325 bool "Support SH7763 processor"
326 select CPU_SH4A
327 help
328 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
329
Paul Mundtb5f42db2007-11-08 18:38:14 +0900330config CPU_SUBTYPE_SH7770
331 bool "Support SH7770 processor"
332 select CPU_SH4A
333
334config CPU_SUBTYPE_SH7780
335 bool "Support SH7780 processor"
336 select CPU_SH4A
337
338config CPU_SUBTYPE_SH7785
339 bool "Support SH7785 processor"
340 select CPU_SH4A
341 select CPU_SHX2
342 select ARCH_SPARSEMEM_ENABLE
343 select SYS_SUPPORTS_NUMA
344
345config CPU_SUBTYPE_SHX3
346 bool "Support SH-X3 processor"
347 select CPU_SH4A
348 select CPU_SHX3
349 select ARCH_SPARSEMEM_ENABLE
350 select SYS_SUPPORTS_NUMA
351 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900352 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900353
354# SH4AL-DSP Processor Support
355
356config CPU_SUBTYPE_SH7343
357 bool "Support SH7343 processor"
358 select CPU_SH4AL_DSP
359
360config CPU_SUBTYPE_SH7722
361 bool "Support SH7722 processor"
362 select CPU_SH4AL_DSP
363 select CPU_SHX2
364 select ARCH_SPARSEMEM_ENABLE
365 select SYS_SUPPORTS_NUMA
366
Magnus Damm9109a302008-02-08 17:31:24 +0900367config CPU_SUBTYPE_SH7366
368 bool "Support SH7366 processor"
369 select CPU_SH4AL_DSP
370 select CPU_SHX2
371 select ARCH_SPARSEMEM_ENABLE
372 select SYS_SUPPORTS_NUMA
373
Paul Mundtea0e1a92007-11-21 15:58:01 +0900374# SH-5 Processor Support
375
376config CPU_SUBTYPE_SH5_101
377 bool "Support SH5-101 processor"
378 select CPU_SH5
379
380config CPU_SUBTYPE_SH5_103
381 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900382 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900383
Paul Mundtb5f42db2007-11-08 18:38:14 +0900384endchoice
385
Paul Mundtcad82442006-01-16 22:14:19 -0800386source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900387
Paul Mundt4690bdc2007-11-09 13:45:42 +0900388source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800389
Paul Mundt939a24a2008-07-29 21:41:37 +0900390source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900391
Paul Mundt32351a22007-03-12 14:38:59 +0900392menu "Timer and clock configuration"
393
Paul Mundtcad82442006-01-16 22:14:19 -0800394config SH_TMU
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900395 def_bool y
396 prompt "TMU timer support"
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900397 depends on CPU_SH3 || CPU_SH4
Paul Mundt57be2b42007-05-09 17:33:24 +0900398 select GENERIC_TIME
399 select GENERIC_CLOCKEVENTS
Paul Mundtcad82442006-01-16 22:14:19 -0800400 help
401 This enables the use of the TMU as the system timer.
402
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900403config SH_CMT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900404 def_bool y
405 prompt "CMT timer support"
Paul Mundt2ad69902008-03-13 12:52:44 +0900406 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900407 help
408 This enables the use of the CMT as the system timer.
409
410config SH_MTU2
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900411 def_bool n
412 prompt "MTU2 timer support"
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900413 depends on CPU_SH2A
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900414 help
415 This enables the use of the MTU2 as the system timer.
416
Paul Mundt417528a2006-11-20 11:18:30 +0900417config SH_TIMER_IRQ
418 int
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900419 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
420 CPU_SUBTYPE_SH7763
Paul Mundt417528a2006-11-20 11:18:30 +0900421 default "86" if CPU_SUBTYPE_SH7619
422 default "140" if CPU_SUBTYPE_SH7206
Paul Mundt2b2d4e72008-03-13 19:51:06 +0900423 default "142" if CPU_SUBTYPE_SH7203
Paul Mundt2ad69902008-03-13 12:52:44 +0900424 default "238" if CPU_SUBTYPE_MXG
Paul Mundt417528a2006-11-20 11:18:30 +0900425 default "16"
426
Paul Mundtcad82442006-01-16 22:14:19 -0800427config SH_PCLK_FREQ
428 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900429 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900430 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900431 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900432 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900433 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900434 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundt2ad69902008-03-13 12:52:44 +0900435 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
Paul Mundt05627482007-05-15 16:25:47 +0900436 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800437 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900438 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800439 help
440 This option is used to specify the peripheral clock frequency.
441 This is necessary for determining the reference clock value on
442 platforms lacking an RTC.
443
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900444config SH_CLK_MD
445 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900446 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900447 default 6 if CPU_SUBTYPE_SH7206
448 default 5 if CPU_SUBTYPE_SH7619
449 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900450 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900451 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900452
Paul Mundt57be2b42007-05-09 17:33:24 +0900453source "kernel/time/Kconfig"
454
Paul Mundt32351a22007-03-12 14:38:59 +0900455endmenu
456
Paul Mundtcad82442006-01-16 22:14:19 -0800457menu "CPU Frequency scaling"
458
459source "drivers/cpufreq/Kconfig"
460
461config SH_CPU_FREQ
462 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900463 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800464 select CPU_FREQ_TABLE
465 help
466 This adds the cpufreq driver for SuperH. At present, only
467 the SH-4 is supported.
468
469 For details, take a look at <file:Documentation/cpu-freq>.
470
471 If unsure, say N.
472
473endmenu
474
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900475source "arch/sh/drivers/Kconfig"
476
Paul Mundtcad82442006-01-16 22:14:19 -0800477endmenu
478
479config ISA_DMA_API
Adrian Bunkf5f826c2008-03-31 01:40:17 +0300480 bool
Paul Mundtcad82442006-01-16 22:14:19 -0800481
482menu "Kernel features"
483
Paul Mundt91b91d02006-09-27 18:08:33 +0900484source kernel/Kconfig.hz
485
Paul Mundtcad82442006-01-16 22:14:19 -0800486config KEXEC
487 bool "kexec system call (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900488 depends on SUPERH32 && EXPERIMENTAL
Paul Mundtcad82442006-01-16 22:14:19 -0800489 help
490 kexec is a system call that implements the ability to shutdown your
491 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400492 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800493 you can start any kernel with it, not just Linux.
494
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400495 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800496
497 It is an ongoing process to be certain the hardware in a machine
498 is properly shutdown, so do not be surprised if this code does not
499 initially work for you. It may help to enable device hotplugging
500 support. As of this writing the exact hardware interface is
501 strongly in flux, so no good recommendation can be made.
502
Paul Mundt4d5ade52007-04-27 11:25:57 +0900503config CRASH_DUMP
504 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900505 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900506 help
507 Generate crash dump after being started by kexec.
508 This should be normally only set in special crash dump kernels
509 which are loaded in the main kernel with kexec-tools into
510 a specially reserved region and then later executed after
511 a crash by kdump/kexec. The crash dump kernel must be compiled
512 to a memory address not used by the main kernel using
513 MEMORY_START.
514
515 For more details see Documentation/kdump/kdump.txt
516
Paul Mundtc4637d42008-07-30 15:30:52 +0900517config SECCOMP
518 bool "Enable seccomp to safely compute untrusted bytecode"
519 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900520 help
521 This kernel feature is useful for number crunching applications
522 that may need to compute untrusted bytecode during their
523 execution. By using pipes or other transports made available to
524 the process as file descriptors supporting the read/write
525 syscalls, it's possible to isolate those applications in
526 their own address space using seccomp. Once seccomp is
527 enabled via prctl, it cannot be disabled and the task is only
528 allowed to execute a few safe syscalls defined by each seccomp
529 mode.
530
531 If unsure, say N.
532
Linus Torvalds1da177e2005-04-16 15:20:36 -0700533config SMP
534 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900535 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200536 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700537 ---help---
538 This enables support for systems with more than one CPU. If you have
539 a system with only one CPU, like most personal computers, say N. If
540 you have a system with more than one CPU, say Y.
541
542 If you say N here, the kernel will run on single and multiprocessor
543 machines, but will use only one CPU of a multiprocessor machine. If
544 you say Y here, the kernel will run on many, but not all,
545 singleprocessor machines. On a singleprocessor machine, the kernel
546 will run faster if you say N here.
547
548 People using multiprocessor machines who say Y here should also say
549 Y to "Enhanced Real Time Clock Support", below.
550
Adrian Bunk03502fa2008-02-03 15:50:21 +0200551 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
552 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700553
554 If you don't know what to do here, say N.
555
556config NR_CPUS
557 int "Maximum number of CPUs (2-32)"
558 range 2 32
559 depends on SMP
Paul Mundt2b1bd1a2007-06-20 18:27:10 +0900560 default "4" if CPU_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700561 default "2"
562 help
563 This allows you to specify the maximum number of CPUs which this
564 kernel will support. The maximum supported value is 32 and the
565 minimum value which makes sense is 2.
566
567 This is purely to save memory - each supported CPU adds
568 approximately eight kilobytes to the kernel image.
569
Paul Mundt91b91d02006-09-27 18:08:33 +0900570source "kernel/Kconfig.preempt"
571
Paul Mundt83662462007-09-28 16:04:49 +0900572config GUSA
573 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900574 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900575 help
576 This enables support for gUSA (general UserSpace Atomicity).
577 This is the default implementation for both UP and non-ll/sc
578 CPUs, and is used by the libc, amongst others.
579
580 For additional information, design information can be found
581 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
582
583 This should only be disabled for special cases where alternate
584 atomicity implementations exist.
585
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900586config GUSA_RB
587 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
588 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
589 help
590 Enabling this option will allow the kernel to implement some
591 atomic operations using a software implemention of load-locked/
592 store-conditional (LLSC). On machines which do not have hardware
593 LLSC, this should be more efficient than the other alternative of
594 disabling insterrupts around the atomic sequence.
595
Paul Mundtcad82442006-01-16 22:14:19 -0800596endmenu
597
598menu "Boot options"
599
600config ZERO_PAGE_OFFSET
601 hex "Zero page offset"
Adrian Bunkf5f826c2008-03-31 01:40:17 +0300602 default "0x00004000" if SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900603 default "0x00010000" if PAGE_SIZE_64KB
604 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800605 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700606 help
Paul Mundtcad82442006-01-16 22:14:19 -0800607 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700608
Paul Mundtcad82442006-01-16 22:14:19 -0800609config BOOT_LINK_OFFSET
610 hex "Link address offset for booting"
611 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700612 help
Paul Mundtcad82442006-01-16 22:14:19 -0800613 This option allows you to set the link address offset of the zImage.
614 This can be useful if you are on a board which has a small amount of
615 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700616
Paul Mundtcad82442006-01-16 22:14:19 -0800617config UBC_WAKEUP
618 bool "Wakeup UBC on startup"
Paul Mundt0e3a9aa2007-11-06 15:55:36 +0900619 depends on CPU_SH4 && !CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800620 help
621 Selecting this option will wakeup the User Break Controller (UBC) on
622 startup. Although the UBC is left in an awake state when the processor
623 comes up, some boot loaders misbehave by putting the UBC to sleep in a
624 power saving state, which causes issues with things like ptrace().
Linus Torvalds1da177e2005-04-16 15:20:36 -0700625
626 If unsure, say N.
627
Paul Mundtcad82442006-01-16 22:14:19 -0800628config CMDLINE_BOOL
629 bool "Default bootloader kernel arguments"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700630
Paul Mundtcad82442006-01-16 22:14:19 -0800631config CMDLINE
632 string "Initial kernel command string"
633 depends on CMDLINE_BOOL
634 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700635
636endmenu
637
Paul Mundtcad82442006-01-16 22:14:19 -0800638menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700639
640# Even on SuperH devices which don't have an ISA bus,
641# this variable helps the PCMCIA modules handle
642# IRQ requesting properly -- Greg Banks.
643#
644# Though we're generally not interested in it when
645# we're not using PCMCIA, so we make it dependent on
646# PCMCIA outright. -- PFM.
647config ISA
Paul Mundt357d5942007-06-11 15:32:07 +0900648 def_bool y
649 depends on PCMCIA && HD6446X_SERIES
Linus Torvalds1da177e2005-04-16 15:20:36 -0700650 help
651 Find out whether you have ISA slots on your motherboard. ISA is the
652 name of a bus system, i.e. the way the CPU talks to the other stuff
653 inside your box. Other bus systems are PCI, EISA, MicroChannel
654 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
655 newer boards don't support it. If you have ISA, say Y, otherwise N.
656
657config EISA
658 bool
659 ---help---
660 The Extended Industry Standard Architecture (EISA) bus was
661 developed as an open alternative to the IBM MicroChannel bus.
662
663 The EISA bus provided some of the features of the IBM MicroChannel
664 bus while maintaining backward compatibility with cards made for
665 the older ISA bus. The EISA bus saw limited use between 1988 and
666 1995 when it was made obsolete by the PCI bus.
667
668 Say Y here if you are building a kernel for an EISA-based machine.
669
670 Otherwise, say N.
671
672config MCA
673 bool
674 help
675 MicroChannel Architecture is found in some IBM PS/2 machines and
676 laptops. It is a bus system similar to PCI or ISA. See
677 <file:Documentation/mca.txt> (and especially the web page given
678 there) before attempting to build an MCA bus kernel.
679
680config SBUS
681 bool
682
Paul Mundtcad82442006-01-16 22:14:19 -0800683config SUPERHYWAY
684 tristate "SuperHyway Bus support"
685 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700686
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900687config MAPLE
688 bool "Maple Bus support"
689 depends on SH_DREAMCAST
690 help
691 The Maple Bus is SEGA's serial communication bus for peripherals
692 on the Dreamcast. Without this bus support you won't be able to
693 get your Dreamcast keyboard etc to work, so most users
694 probably want to say 'Y' here, unless you are only using the
695 Dreamcast with a serial line terminal or a remote network
696 connection.
697
Paul Mundt824e55f2007-06-20 18:01:52 +0900698config CF_ENABLER
699 bool "Compact Flash Enabler support"
700 depends on SOLUTION_ENGINE || SH_SH03
701 ---help---
702 Compact Flash is a small, removable mass storage device introduced
703 in 1994 originally as a PCMCIA device. If you say `Y' here, you
704 compile in support for Compact Flash devices directly connected to
705 a SuperH processor. A Compact Flash FAQ is available at
706 <http://www.compactflash.org/faqs/faq.htm>.
707
708 If your board has "Directly Connected" CompactFlash at area 5 or 6,
709 you may want to enable this option. Then, you can use CF as
710 primary IDE drive (only tested for SanDisk).
711
712 If in doubt, select 'N'.
713
714choice
715 prompt "Compact Flash Connection Area"
716 depends on CF_ENABLER
717 default CF_AREA6
718
719config CF_AREA5
720 bool "Area5"
721 help
722 If your board has "Directly Connected" CompactFlash, You should
723 select the area where your CF is connected to.
724
725 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
726 - "Area6" if it is connected to Area 6 (0x18000000)
727
728 "Area6" will work for most boards.
729
730config CF_AREA6
731 bool "Area6"
732
733endchoice
734
735config CF_BASE_ADDR
736 hex
737 depends on CF_ENABLER
738 default "0xb8000000" if CF_AREA6
739 default "0xb4000000" if CF_AREA5
740
Linus Torvalds1da177e2005-04-16 15:20:36 -0700741source "arch/sh/drivers/pci/Kconfig"
742
743source "drivers/pci/Kconfig"
744
745source "drivers/pcmcia/Kconfig"
746
747source "drivers/pci/hotplug/Kconfig"
748
749endmenu
750
751menu "Executable file formats"
752
753source "fs/Kconfig.binfmt"
754
755endmenu
756
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900757menu "Power management options (EXPERIMENTAL)"
Paul Mundt357d5942007-06-11 15:32:07 +0900758depends on EXPERIMENTAL && SYS_SUPPORTS_PM
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900759
Johannes Bergf4cb5702007-12-08 02:14:00 +0100760config ARCH_SUSPEND_POSSIBLE
761 def_bool y
762 depends on !SMP
763
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900764source kernel/power/Kconfig
765
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900766endmenu
767
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700768source "net/Kconfig"
769
Linus Torvalds1da177e2005-04-16 15:20:36 -0700770source "drivers/Kconfig"
771
772source "fs/Kconfig"
773
Linus Torvalds1da177e2005-04-16 15:20:36 -0700774source "arch/sh/Kconfig.debug"
775
776source "security/Kconfig"
777
778source "crypto/Kconfig"
779
780source "lib/Kconfig"