]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/blame - arch/sh/Kconfig
ipc: compat: use signed size_t types for msgsnd and msgrcv
[mirror_ubuntu-disco-kernel.git] / arch / sh / Kconfig
CommitLineData
1da177e4 1config SUPERH
ea0e1a9a 2 def_bool y
6a108a14 3 select EXPERT
6d803ba7 4 select CLKDEV_LOOKUP
86e4dd5a 5 select HAVE_IDE if HAS_IOPORT
95f72d1e 6 select HAVE_MEMBLOCK
534cfbee 7 select HAVE_MEMBLOCK_NODE_MAP
adaf7fd2 8 select ARCH_DISCARD_MEMBLOCK
42d4b839 9 select HAVE_OPROFILE
9de90ac2 10 select HAVE_GENERIC_DMA_COHERENT
d7b01f78 11 select HAVE_ARCH_TRACEHOOK
f802d969 12 select HAVE_DMA_API_DEBUG
73c926be 13 select HAVE_DMA_ATTRS
e360adbe 14 select HAVE_IRQ_WORK
cdd6c482 15 select HAVE_PERF_EVENTS
7563bbf8 16 select ARCH_HAVE_CUSTOM_GPIO_H
df013ffb 17 select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
72f0c137 18 select PERF_USE_VMALLOC
df8ce259 19 select HAVE_KERNEL_GZIP
07e88e1b
PM
20 select HAVE_KERNEL_BZIP2
21 select HAVE_KERNEL_LZMA
50cfa79d 22 select HAVE_KERNEL_XZ
c7b16efb 23 select HAVE_KERNEL_LZO
a74f7e04 24 select HAVE_SYSCALL_TRACEPOINTS
eaaaeef3 25 select HAVE_REGS_AND_STACK_ACCESS_API
57b81330 26 select HAVE_GENERIC_HARDIRQS
2ed86b16 27 select MAY_HAVE_SPARSE_IRQ
ed170924 28 select IRQ_FORCED_THREADING
6eac1af0 29 select RTC_LIB
f01789c6 30 select GENERIC_ATOMIC64
3d44ae40 31 select GENERIC_IRQ_SHOW
ea0588cb 32 select GENERIC_SMP_IDLE_THREAD
8cf200d8
AMG
33 select GENERIC_CLOCKEVENTS
34 select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
0e100e11 35 select GENERIC_STRNCPY_FROM_USER
cba8df4b 36 select GENERIC_STRNLEN_USER
1da177e4
LT
37 help
38 The SuperH is a RISC processor targeted for use in embedded systems
39 and consumer electronics; it was also used in the Sega Dreamcast
40 gaming console. The SuperH port has a home page at
41 <http://www.linux-sh.org/>.
42
39d28a2d 43config SUPERH32
3cc000b5 44 def_bool ARCH = "sh"
d39f5450
CS
45 select HAVE_KPROBES
46 select HAVE_KRETPROBES
6d63e73d 47 select HAVE_IOREMAP_PROT if MMU && !X2TLB
694f94f2 48 select HAVE_FUNCTION_TRACER
fad57feb
MF
49 select HAVE_FTRACE_MCOUNT_RECORD
50 select HAVE_DYNAMIC_FTRACE
c1340c05 51 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
e4b053d9 52 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
327933f5 53 select HAVE_FUNCTION_GRAPH_TRACER
ab6e570b 54 select HAVE_ARCH_KGDB
6fbfe8d7 55 select HAVE_HW_BREAKPOINT
0102752e 56 select HAVE_MIXED_BREAKPOINTS_REGS
e583d6b3 57 select PERF_EVENTS
8dafc346 58 select ARCH_HIBERNATION_POSSIBLE if MMU
57b81330 59 select SPARSE_IRQ
ea0e1a9a
PM
60
61config SUPERH64
3cc000b5 62 def_bool ARCH = "sh64"
3a898c0f 63 select KALLSYMS
39d28a2d 64
f42b7e3d
PM
65config ARCH_DEFCONFIG
66 string
67 default "arch/sh/configs/shx3_defconfig" if SUPERH32
68 default "arch/sh/configs/cayman_defconfig" if SUPERH64
69
1da177e4 70config RWSEM_GENERIC_SPINLOCK
d7ef4fb3 71 def_bool y
1da177e4
LT
72
73config RWSEM_XCHGADD_ALGORITHM
74 bool
75
fa691511
PM
76config GENERIC_BUG
77 def_bool y
a82d53ec 78 depends on BUG && SUPERH32
fa691511 79
3767f3f1
PM
80config GENERIC_CSUM
81 def_bool y
82 depends on SUPERH64
83
e2268c71 84config GENERIC_HWEIGHT
d7ef4fb3 85 def_bool y
e2268c71 86
2eb2a436
PM
87config IRQ_PER_CPU
88 def_bool y
89
2967dab1
MD
90config GENERIC_GPIO
91 def_bool n
92
1da177e4 93config GENERIC_CALIBRATE_DELAY
cf204fa7 94 bool
1da177e4 95
bdcab87b
PM
96config GENERIC_LOCKBREAK
97 def_bool y
98 depends on SMP && PREEMPT
99
af998a9a
MD
100config ARCH_SUSPEND_POSSIBLE
101 def_bool n
102
103config ARCH_HIBERNATION_POSSIBLE
104 def_bool n
357d5946 105
0a9b0db1
PM
106config SYS_SUPPORTS_APM_EMULATION
107 bool
af998a9a 108 select ARCH_SUSPEND_POSSIBLE
357d5946 109
ffb4a73d
PM
110config SYS_SUPPORTS_HUGETLBFS
111 bool
112
357d5946
PM
113config SYS_SUPPORTS_SMP
114 bool
115
116config SYS_SUPPORTS_NUMA
117 bool
118
119config SYS_SUPPORTS_PCI
120 bool
0a9b0db1 121
f5ad881b
PM
122config SYS_SUPPORTS_CMT
123 bool
124
d5ed4c2e
MD
125config SYS_SUPPORTS_MTU2
126 bool
127
9570ef20
MD
128config SYS_SUPPORTS_TMU
129 bool
130
afbfb52e 131config STACKTRACE_SUPPORT
d7ef4fb3 132 def_bool y
afbfb52e
PM
133
134config LOCKDEP_SUPPORT
d7ef4fb3 135 def_bool y
afbfb52e 136
5a89f1ad
PM
137config HAVE_LATENCYTOP_SUPPORT
138 def_bool y
5a89f1ad 139
f0d1b0b3 140config ARCH_HAS_ILOG2_U32
d7ef4fb3 141 def_bool n
f0d1b0b3
DH
142
143config ARCH_HAS_ILOG2_U64
d7ef4fb3 144 def_bool n
f0d1b0b3 145
e257ad06
PM
146config ARCH_NO_VIRT_TO_BUS
147 def_bool y
148
e869a90e
PM
149config ARCH_HAS_DEFAULT_IDLE
150 def_bool y
151
86e4dd5a 152config NO_IOPORT
37b7a978 153 def_bool !PCI
c30b9c43
PM
154 depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
155 !SH_HP6XX && !SH_SOLUTION_ENGINE
86e4dd5a 156
e7cc9a73
MD
157config IO_TRAPPED
158 bool
159
b7e68d68
PM
160config SWAP_IO_SPACE
161 bool
162
01be5d63
PM
163config DMA_COHERENT
164 bool
165
166config DMA_NONCOHERENT
167 def_bool !DMA_COHERENT
168
5cabbb62
FT
169config NEED_DMA_MAP_STATE
170 def_bool DMA_NONCOHERENT
171
18e98307
FT
172config NEED_SG_DMA_LENGTH
173 def_bool y
174
1da177e4
LT
175source "init/Kconfig"
176
dc52ddc0
MH
177source "kernel/Kconfig.freezer"
178
1da177e4
LT
179menu "System type"
180
b5f42db0
PM
181#
182# Processor families
183#
184config CPU_SH2
185 bool
186
187config CPU_SH2A
188 bool
189 select CPU_SH2
e2fcf74f 190 select UNCACHED_MAPPING
b5f42db0
PM
191
192config CPU_SH3
193 bool
194 select CPU_HAS_INTEVT
195 select CPU_HAS_SR_RB
4fa48e17 196 select SYS_SUPPORTS_TMU
b5f42db0
PM
197
198config CPU_SH4
199 bool
200 select CPU_HAS_INTEVT
201 select CPU_HAS_SR_RB
b5f42db0 202 select CPU_HAS_FPU if !CPU_SH4AL_DSP
4fa48e17 203 select SYS_SUPPORTS_TMU
ffb4a73d 204 select SYS_SUPPORTS_HUGETLBFS if MMU
b5f42db0
PM
205
206config CPU_SH4A
207 bool
208 select CPU_SH4
209
210config CPU_SH4AL_DSP
211 bool
212 select CPU_SH4A
213 select CPU_HAS_DSP
214
ea0e1a9a
PM
215config CPU_SH5
216 bool
217 select CPU_HAS_FPU
add47067 218 select SYS_SUPPORTS_TMU
ffb4a73d 219 select SYS_SUPPORTS_HUGETLBFS if MMU
ea0e1a9a 220
b5f42db0
PM
221config CPU_SHX2
222 bool
223
224config CPU_SHX3
225 bool
01be5d63 226 select DMA_COHERENT
4b478ee2
PM
227 select SYS_SUPPORTS_SMP
228 select SYS_SUPPORTS_NUMA
b5f42db0 229
dc65a977
PM
230config ARCH_SHMOBILE
231 bool
77594912 232 select ARCH_SUSPEND_POSSIBLE
ac2c596b
MD
233 select PM
234 select PM_RUNTIME
dc65a977 235
86c8c047
MF
236config CPU_HAS_PMU
237 depends on CPU_SH4 || CPU_SH4A
238 default y
239 bool
240
3cc000b5
PM
241if SUPERH32
242
b5f42db0
PM
243choice
244 prompt "Processor sub-type selection"
245
246#
247# Processor subtypes
248#
249
250# SH-2 Processor Support
251
252config CPU_SUBTYPE_SH7619
253 bool "Support SH7619 processor"
254 select CPU_SH2
f5ad881b 255 select SYS_SUPPORTS_CMT
b5f42db0
PM
256
257# SH-2A Processor Support
258
2825999e
PG
259config CPU_SUBTYPE_SH7201
260 bool "Support SH7201 processor"
261 select CPU_SH2A
262 select CPU_HAS_FPU
da107c6e 263 select SYS_SUPPORTS_MTU2
2825999e 264
6d01f510
PM
265config CPU_SUBTYPE_SH7203
266 bool "Support SH7203 processor"
267 select CPU_SH2A
74d99a5e 268 select CPU_HAS_FPU
f5ad881b 269 select SYS_SUPPORTS_CMT
da107c6e 270 select SYS_SUPPORTS_MTU2
f020c92d 271 select ARCH_WANT_OPTIONAL_GPIOLIB
6d01f510 272
b5f42db0
PM
273config CPU_SUBTYPE_SH7206
274 bool "Support SH7206 processor"
275 select CPU_SH2A
f5ad881b 276 select SYS_SUPPORTS_CMT
da107c6e 277 select SYS_SUPPORTS_MTU2
b5f42db0 278
a8f67f4b
PM
279config CPU_SUBTYPE_SH7263
280 bool "Support SH7263 processor"
281 select CPU_SH2A
74d99a5e 282 select CPU_HAS_FPU
f5ad881b 283 select SYS_SUPPORTS_CMT
da107c6e 284 select SYS_SUPPORTS_MTU2
a8f67f4b 285
51ce3068
PE
286config CPU_SUBTYPE_SH7264
287 bool "Support SH7264 processor"
288 select CPU_SH2A
289 select CPU_HAS_FPU
290 select SYS_SUPPORTS_CMT
291 select SYS_SUPPORTS_MTU2
292
0b25b7c8
PE
293config CPU_SUBTYPE_SH7269
294 bool "Support SH7269 processor"
295 select CPU_SH2A
296 select CPU_HAS_FPU
297 select SYS_SUPPORTS_CMT
298 select SYS_SUPPORTS_MTU2
299
2ad69908
PM
300config CPU_SUBTYPE_MXG
301 bool "Support MX-G processor"
302 select CPU_SH2A
da107c6e 303 select SYS_SUPPORTS_MTU2
2ad69908
PM
304 help
305 Select MX-G if running on an R8A03022BG part.
306
b5f42db0
PM
307# SH-3 Processor Support
308
309config CPU_SUBTYPE_SH7705
310 bool "Support SH7705 processor"
311 select CPU_SH3
312
313config CPU_SUBTYPE_SH7706
314 bool "Support SH7706 processor"
315 select CPU_SH3
316 help
317 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
318
319config CPU_SUBTYPE_SH7707
320 bool "Support SH7707 processor"
321 select CPU_SH3
322 help
323 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
324
325config CPU_SUBTYPE_SH7708
326 bool "Support SH7708 processor"
327 select CPU_SH3
328 help
329 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
330 if you have a 100 Mhz SH-3 HD6417708R CPU.
331
332config CPU_SUBTYPE_SH7709
333 bool "Support SH7709 processor"
334 select CPU_SH3
335 help
336 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
337
338config CPU_SUBTYPE_SH7710
339 bool "Support SH7710 processor"
340 select CPU_SH3
341 select CPU_HAS_DSP
342 help
343 Select SH7710 if you have a SH3-DSP SH7710 CPU.
344
345config CPU_SUBTYPE_SH7712
346 bool "Support SH7712 processor"
347 select CPU_SH3
348 select CPU_HAS_DSP
349 help
350 Select SH7712 if you have a SH3-DSP SH7712 CPU.
351
352config CPU_SUBTYPE_SH7720
353 bool "Support SH7720 processor"
354 select CPU_SH3
355 select CPU_HAS_DSP
2b23a882 356 select SYS_SUPPORTS_CMT
f020c92d 357 select ARCH_WANT_OPTIONAL_GPIOLIB
e3e9887e 358 select USB_ARCH_HAS_OHCI
7b61ca5d 359 select USB_OHCI_SH if USB_OHCI_HCD
b5f42db0
PM
360 help
361 Select SH7720 if you have a SH3-DSP SH7720 CPU.
362
31a49c4b
YS
363config CPU_SUBTYPE_SH7721
364 bool "Support SH7721 processor"
365 select CPU_SH3
366 select CPU_HAS_DSP
2b23a882 367 select SYS_SUPPORTS_CMT
e3e9887e 368 select USB_ARCH_HAS_OHCI
7b61ca5d 369 select USB_OHCI_SH if USB_OHCI_HCD
31a49c4b
YS
370 help
371 Select SH7721 if you have a SH3-DSP SH7721 CPU.
372
b5f42db0
PM
373# SH-4 Processor Support
374
375config CPU_SUBTYPE_SH7750
376 bool "Support SH7750 processor"
377 select CPU_SH4
378 help
379 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
380
381config CPU_SUBTYPE_SH7091
382 bool "Support SH7091 processor"
383 select CPU_SH4
384 help
385 Select SH7091 if you have an SH-4 based Sega device (such as
386 the Dreamcast, Naomi, and Naomi 2).
387
388config CPU_SUBTYPE_SH7750R
389 bool "Support SH7750R processor"
390 select CPU_SH4
391
392config CPU_SUBTYPE_SH7750S
393 bool "Support SH7750S processor"
394 select CPU_SH4
395
396config CPU_SUBTYPE_SH7751
397 bool "Support SH7751 processor"
398 select CPU_SH4
399 help
400 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
401 or if you have a HD6417751R CPU.
402
403config CPU_SUBTYPE_SH7751R
404 bool "Support SH7751R processor"
405 select CPU_SH4
406
407config CPU_SUBTYPE_SH7760
408 bool "Support SH7760 processor"
409 select CPU_SH4
410
411config CPU_SUBTYPE_SH4_202
412 bool "Support SH4-202 processor"
413 select CPU_SH4
414
415# SH-4A Processor Support
416
178dd0cd
PM
417config CPU_SUBTYPE_SH7723
418 bool "Support SH7723 processor"
419 select CPU_SH4A
420 select CPU_SHX2
dc65a977 421 select ARCH_SHMOBILE
178dd0cd 422 select ARCH_SPARSEMEM_ENABLE
f5ad881b 423 select SYS_SUPPORTS_CMT
f020c92d 424 select ARCH_WANT_OPTIONAL_GPIOLIB
178dd0cd
PM
425 help
426 Select SH7723 if you have an SH-MobileR2 CPU.
427
0207a2ef
KM
428config CPU_SUBTYPE_SH7724
429 bool "Support SH7724 processor"
430 select CPU_SH4A
431 select CPU_SHX2
59fe700d 432 select ARCH_SHMOBILE
0207a2ef
KM
433 select ARCH_SPARSEMEM_ENABLE
434 select SYS_SUPPORTS_CMT
f020c92d 435 select ARCH_WANT_OPTIONAL_GPIOLIB
0207a2ef
KM
436 help
437 Select SH7724 if you have an SH-MobileR2R CPU.
438
fea88a0c
NI
439config CPU_SUBTYPE_SH7734
440 bool "Support SH7734 processor"
441 select CPU_SH4A
442 select CPU_SHX2
443 select ARCH_WANT_OPTIONAL_GPIOLIB
444 select USB_ARCH_HAS_OHCI
445 select USB_ARCH_HAS_EHCI
446 help
447 Select SH7734 if you have a SH4A SH7734 CPU.
448
c01f0f1a
YS
449config CPU_SUBTYPE_SH7757
450 bool "Support SH7757 processor"
451 select CPU_SH4A
452 select CPU_SHX2
f020c92d 453 select ARCH_WANT_OPTIONAL_GPIOLIB
0fe48601
YS
454 select USB_ARCH_HAS_OHCI
455 select USB_ARCH_HAS_EHCI
c01f0f1a
YS
456 help
457 Select SH7757 if you have a SH4A SH7757 CPU.
458
7d740a06
YS
459config CPU_SUBTYPE_SH7763
460 bool "Support SH7763 processor"
461 select CPU_SH4A
e3e9887e 462 select USB_ARCH_HAS_OHCI
7b61ca5d 463 select USB_OHCI_SH if USB_OHCI_HCD
7d740a06
YS
464 help
465 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
466
b5f42db0
PM
467config CPU_SUBTYPE_SH7770
468 bool "Support SH7770 processor"
469 select CPU_SH4A
470
471config CPU_SUBTYPE_SH7780
472 bool "Support SH7780 processor"
473 select CPU_SH4A
474
475config CPU_SUBTYPE_SH7785
476 bool "Support SH7785 processor"
477 select CPU_SH4A
478 select CPU_SHX2
55ba99eb
KM
479 select ARCH_SPARSEMEM_ENABLE
480 select SYS_SUPPORTS_NUMA
f020c92d 481 select ARCH_WANT_OPTIONAL_GPIOLIB
55ba99eb
KM
482
483config CPU_SUBTYPE_SH7786
484 bool "Support SH7786 processor"
485 select CPU_SH4A
37042fbd 486 select CPU_SHX3
8263a67e 487 select CPU_HAS_PTEAEX
2eb2a436 488 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
f020c92d 489 select ARCH_WANT_OPTIONAL_GPIOLIB
e3e9887e 490 select USB_ARCH_HAS_OHCI
7b61ca5d 491 select USB_OHCI_SH if USB_OHCI_HCD
e3e9887e 492 select USB_ARCH_HAS_EHCI
7b61ca5d 493 select USB_EHCI_SH if USB_EHCI_HCD
b5f42db0
PM
494
495config CPU_SUBTYPE_SHX3
496 bool "Support SH-X3 processor"
497 select CPU_SH4A
498 select CPU_SHX3
5840263e 499 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
742759ea 500 select ARCH_REQUIRE_GPIOLIB
b5f42db0
PM
501
502# SH4AL-DSP Processor Support
503
504config CPU_SUBTYPE_SH7343
505 bool "Support SH7343 processor"
506 select CPU_SH4AL_DSP
dc65a977 507 select ARCH_SHMOBILE
f5ad881b 508 select SYS_SUPPORTS_CMT
b5f42db0
PM
509
510config CPU_SUBTYPE_SH7722
511 bool "Support SH7722 processor"
512 select CPU_SH4AL_DSP
513 select CPU_SHX2
dc65a977 514 select ARCH_SHMOBILE
b5f42db0
PM
515 select ARCH_SPARSEMEM_ENABLE
516 select SYS_SUPPORTS_NUMA
f5ad881b 517 select SYS_SUPPORTS_CMT
f020c92d 518 select ARCH_WANT_OPTIONAL_GPIOLIB
9109a30e
MD
519
520config CPU_SUBTYPE_SH7366
521 bool "Support SH7366 processor"
522 select CPU_SH4AL_DSP
523 select CPU_SHX2
dc65a977 524 select ARCH_SHMOBILE
9109a30e
MD
525 select ARCH_SPARSEMEM_ENABLE
526 select SYS_SUPPORTS_NUMA
f5ad881b 527 select SYS_SUPPORTS_CMT
b5f42db0 528
3cc000b5
PM
529endchoice
530
531endif
532
533if SUPERH64
534
535choice
536 prompt "Processor sub-type selection"
537
ea0e1a9a
PM
538# SH-5 Processor Support
539
540config CPU_SUBTYPE_SH5_101
541 bool "Support SH5-101 processor"
542 select CPU_SH5
543
544config CPU_SUBTYPE_SH5_103
545 bool "Support SH5-103 processor"
8ef97dd7 546 select CPU_SH5
ea0e1a9a 547
b5f42db0
PM
548endchoice
549
3cc000b5
PM
550endif
551
f3d22298 552source "arch/sh/mm/Kconfig"
939a24a6 553
4690bdc7 554source "arch/sh/Kconfig.cpu"
f3d22298 555
939a24a6 556source "arch/sh/boards/Kconfig"
32351a28 557
32351a28
PM
558menu "Timer and clock configuration"
559
9570ef20
MD
560config SH_TIMER_TMU
561 bool "TMU timer driver"
f19900b2 562 depends on SYS_SUPPORTS_TMU
9570ef20 563 default y
9570ef20
MD
564 help
565 This enables the build of the TMU timer driver.
566
f5ad881b 567config SH_TIMER_CMT
f425752f
MD
568 bool "CMT timer driver"
569 depends on SYS_SUPPORTS_CMT
570 default y
f425752f
MD
571 help
572 This enables build of the CMT timer driver.
f5ad881b 573
d5ed4c2e
MD
574config SH_TIMER_MTU2
575 bool "MTU2 timer driver"
3280c886 576 depends on SYS_SUPPORTS_MTU2
d5ed4c2e 577 default y
d5ed4c2e
MD
578 help
579 This enables build of the MTU2 timer driver.
580
cad82448
PM
581config SH_PCLK_FREQ
582 int "Peripheral clock frequency (in Hz)"
8152a74b 583 depends on SH_CLK_CPG_LEGACY
9d4436a6 584 default "31250000" if CPU_SUBTYPE_SH7619
8152a74b
PM
585 default "33333333" if CPU_SUBTYPE_SH7770 || \
586 CPU_SUBTYPE_SH7760 || \
587 CPU_SUBTYPE_SH7705 || \
588 CPU_SUBTYPE_SH7203 || \
589 CPU_SUBTYPE_SH7206 || \
590 CPU_SUBTYPE_SH7263 || \
43a1839c 591 CPU_SUBTYPE_MXG
05627486 592 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
cad82448 593 default "66000000" if CPU_SUBTYPE_SH4_202
05627486 594 default "50000000"
1da177e4 595 help
cad82448
PM
596 This option is used to specify the peripheral clock frequency.
597 This is necessary for determining the reference clock value on
598 platforms lacking an RTC.
1da177e4 599
36aa1e32
PM
600config SH_CLK_CPG
601 def_bool y
602
253b0887 603config SH_CLK_CPG_LEGACY
36aa1e32 604 depends on SH_CLK_CPG
43a1839c 605 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
51ce3068 606 !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
bcb86e0a
PM
607 !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
608 !CPU_SUBTYPE_SH7269
253b0887 609
32351a28
PM
610endmenu
611
cad82448
PM
612menu "CPU Frequency scaling"
613
614source "drivers/cpufreq/Kconfig"
1da177e4 615
cad82448
PM
616config SH_CPU_FREQ
617 tristate "SuperH CPU Frequency driver"
cb5ec75b 618 depends on CPU_FREQ
cad82448 619 select CPU_FREQ_TABLE
1da177e4 620 help
8a655053
PM
621 This adds the cpufreq driver for SuperH. Any CPU that supports
622 clock rate rounding through the clock framework can use this
623 driver. While it will make the kernel slightly larger, this is
624 harmless for CPUs that don't support rate rounding. The driver
625 will also generate a notice in the boot log before disabling
626 itself if the CPU in question is not capable of rate rounding.
1da177e4 627
cad82448 628 For details, take a look at <file:Documentation/cpu-freq>.
1da177e4
LT
629
630 If unsure, say N.
631
cad82448
PM
632endmenu
633
9f5e8eee
PM
634source "arch/sh/drivers/Kconfig"
635
cad82448 636endmenu
1da177e4 637
cad82448
PM
638menu "Kernel features"
639
91b91d01
PM
640source kernel/Kconfig.hz
641
cad82448
PM
642config KEXEC
643 bool "kexec system call (EXPERIMENTAL)"
f36b59d1 644 depends on SUPERH32 && EXPERIMENTAL && MMU
1da177e4 645 help
cad82448
PM
646 kexec is a system call that implements the ability to shutdown your
647 current kernel, and to start another kernel. It is like a reboot
1f1332f7 648 but it is independent of the system firmware. And like a reboot
cad82448
PM
649 you can start any kernel with it, not just Linux.
650
1f1332f7 651 The name comes from the similarity to the exec system call.
cad82448
PM
652
653 It is an ongoing process to be certain the hardware in a machine
654 is properly shutdown, so do not be surprised if this code does not
655 initially work for you. It may help to enable device hotplugging
656 support. As of this writing the exact hardware interface is
657 strongly in flux, so no good recommendation can be made.
658
4d5ade5b
PM
659config CRASH_DUMP
660 bool "kernel crash dumps (EXPERIMENTAL)"
d523e1ae 661 depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
4d5ade5b
PM
662 help
663 Generate crash dump after being started by kexec.
664 This should be normally only set in special crash dump kernels
665 which are loaded in the main kernel with kexec-tools into
666 a specially reserved region and then later executed after
667 a crash by kdump/kexec. The crash dump kernel must be compiled
668 to a memory address not used by the main kernel using
e66ac3f2 669 PHYSICAL_START.
4d5ade5b
PM
670
671 For more details see Documentation/kdump/kdump.txt
672
b7cf6ddc
MD
673config KEXEC_JUMP
674 bool "kexec jump (EXPERIMENTAL)"
675 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
676 help
677 Jump between original kernel and kexeced kernel and invoke
678 code via KEXEC
679
e66ac3f2
SH
680config PHYSICAL_START
681 hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
682 default MEMORY_START
683 ---help---
684 This gives the physical address where the kernel is loaded
685 and is ordinarily the same as MEMORY_START.
686
687 Different values are primarily used in the case of kexec on panic
688 where the fail safe kernel needs to run at a different address
689 than the panic-ed kernel.
690
c4637d47
PM
691config SECCOMP
692 bool "Enable seccomp to safely compute untrusted bytecode"
693 depends on PROC_FS
c4637d47
PM
694 help
695 This kernel feature is useful for number crunching applications
696 that may need to compute untrusted bytecode during their
697 execution. By using pipes or other transports made available to
698 the process as file descriptors supporting the read/write
699 syscalls, it's possible to isolate those applications in
700 their own address space using seccomp. Once seccomp is
701 enabled via prctl, it cannot be disabled and the task is only
702 allowed to execute a few safe syscalls defined by each seccomp
703 mode.
704
705 If unsure, say N.
706
5d920bb9
FA
707config CC_STACKPROTECTOR
708 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
709 depends on SUPERH32 && EXPERIMENTAL
710 help
711 This option turns on the -fstack-protector GCC feature. This
712 feature puts, at the beginning of functions, a canary value on
713 the stack just before the return address, and validates
714 the value just before actually returning. Stack based buffer
715 overflows (that need to overwrite this return address) now also
716 overwrite the canary, which gets detected and the attack is then
717 neutralized via a kernel panic.
718
719 This feature requires gcc version 4.2 or above.
720
1da177e4
LT
721config SMP
722 bool "Symmetric multi-processing support"
357d5946 723 depends on SYS_SUPPORTS_SMP
490f5de5 724 select USE_GENERIC_SMP_HELPERS
1da177e4
LT
725 ---help---
726 This enables support for systems with more than one CPU. If you have
727 a system with only one CPU, like most personal computers, say N. If
728 you have a system with more than one CPU, say Y.
729
730 If you say N here, the kernel will run on single and multiprocessor
731 machines, but will use only one CPU of a multiprocessor machine. If
732 you say Y here, the kernel will run on many, but not all,
733 singleprocessor machines. On a singleprocessor machine, the kernel
734 will run faster if you say N here.
735
736 People using multiprocessor machines who say Y here should also say
737 Y to "Enhanced Real Time Clock Support", below.
738
03502faa
AB
739 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
740 available at <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
741
742 If you don't know what to do here, say N.
743
744config NR_CPUS
745 int "Maximum number of CPUs (2-32)"
746 range 2 32
747 depends on SMP
2eb2a436 748 default "4" if CPU_SUBTYPE_SHX3
1da177e4
LT
749 default "2"
750 help
751 This allows you to specify the maximum number of CPUs which this
752 kernel will support. The maximum supported value is 32 and the
753 minimum value which makes sense is 2.
754
755 This is purely to save memory - each supported CPU adds
756 approximately eight kilobytes to the kernel image.
757
763142d1
PM
758config HOTPLUG_CPU
759 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
760 depends on SMP && HOTPLUG && EXPERIMENTAL
761 help
762 Say Y here to experiment with turning CPUs off and on. CPUs
763 can be controlled through /sys/devices/system/cpu.
764
91b91d01
PM
765source "kernel/Kconfig.preempt"
766
83662461
PM
767config GUSA
768 def_bool y
1efe4ce3 769 depends on !SMP && SUPERH32
83662461
PM
770 help
771 This enables support for gUSA (general UserSpace Atomicity).
772 This is the default implementation for both UP and non-ll/sc
773 CPUs, and is used by the libc, amongst others.
774
775 For additional information, design information can be found
776 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
777
778 This should only be disabled for special cases where alternate
779 atomicity implementations exist.
780
1efe4ce3
SM
781config GUSA_RB
782 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
783 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
784 help
785 Enabling this option will allow the kernel to implement some
692105b8 786 atomic operations using a software implementation of load-locked/
1efe4ce3
SM
787 store-conditional (LLSC). On machines which do not have hardware
788 LLSC, this should be more efficient than the other alternative of
692105b8 789 disabling interrupts around the atomic sequence.
1efe4ce3 790
86c8c047
MF
791config HW_PERF_EVENTS
792 bool "Enable hardware performance counter support for perf events"
793 depends on PERF_EVENTS && CPU_HAS_PMU
794 default y
795 help
796 Enable hardware performance counter support for perf events. If
797 disabled, perf events will use software events only.
798
43b8774d
PM
799source "drivers/sh/Kconfig"
800
cad82448 801endmenu
1da177e4 802
cad82448 803menu "Boot options"
1da177e4 804
cad82448 805config ZERO_PAGE_OFFSET
b412a49a
PM
806 hex
807 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
808 SH_7751_SOLUTION_ENGINE
809 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
7a847f81 810 default "0x00002000" if PAGE_SIZE_8KB
cad82448 811 default "0x00001000"
1da177e4 812 help
cad82448 813 This sets the default offset of zero page.
1da177e4 814
cad82448 815config BOOT_LINK_OFFSET
b412a49a
PM
816 hex
817 default "0x00210000" if SH_SHMIN
a2e76c80 818 default "0x00400000" if SH_CAYMAN
b412a49a
PM
819 default "0x00810000" if SH_7780_SOLUTION_ENGINE
820 default "0x009e0000" if SH_TITAN
821 default "0x01800000" if SH_SDK7780
822 default "0x02000000" if SH_EDOSK7760
cad82448
PM
823 default "0x00800000"
824 help
825 This option allows you to set the link address offset of the zImage.
826 This can be useful if you are on a board which has a small amount of
827 memory.
1da177e4 828
b412a49a
PM
829config ENTRY_OFFSET
830 hex
831 default "0x00001000" if PAGE_SIZE_4KB
832 default "0x00002000" if PAGE_SIZE_8KB
833 default "0x00004000" if PAGE_SIZE_16KB
834 default "0x00010000" if PAGE_SIZE_64KB
835 default "0x00000000"
836
4705b2e8
MD
837config ROMIMAGE_MMCIF
838 bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
839 depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
840 help
841 Say Y here to include experimental MMCIF loading code in
842 romImage. With this enabled it is possible to write the romImage
843 kernel image to an MMC card and boot the kernel straight from
844 the reset vector. At reset the processor Mask ROM will load the
845 first part of the romImage which in turn loads the rest the kernel
846 image to RAM using the MMCIF hardware block.
847
d724a9c9
PM
848choice
849 prompt "Kernel command line"
850 optional
851 default CMDLINE_OVERWRITE
852 help
853 Setting this option allows the kernel command line arguments
854 to be set.
855
856config CMDLINE_OVERWRITE
857 bool "Overwrite bootloader kernel arguments"
858 help
859 Given string will overwrite any arguments passed in by
860 a bootloader.
861
862config CMDLINE_EXTEND
863 bool "Extend bootloader kernel arguments"
864 help
865 Given string will be concatenated with arguments passed in
866 by a bootloader.
867
868endchoice
1da177e4 869
cad82448 870config CMDLINE
d724a9c9
PM
871 string "Kernel command line arguments string"
872 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
cad82448 873 default "console=ttySC1,115200"
1da177e4
LT
874
875endmenu
876
cad82448 877menu "Bus options"
1da177e4 878
cad82448
PM
879config SUPERHYWAY
880 tristate "SuperHyway Bus support"
881 depends on CPU_SUBTYPE_SH4_202
1da177e4 882
17be2d2b 883config MAPLE
e16038ab
PM
884 bool "Maple Bus support"
885 depends on SH_DREAMCAST
886 help
887 The Maple Bus is SEGA's serial communication bus for peripherals
888 on the Dreamcast. Without this bus support you won't be able to
889 get your Dreamcast keyboard etc to work, so most users
890 probably want to say 'Y' here, unless you are only using the
891 Dreamcast with a serial line terminal or a remote network
892 connection.
17be2d2b 893
7693465d
PM
894config PCI
895 bool "PCI support"
896 depends on SYS_SUPPORTS_PCI
320e68da 897 select PCI_DOMAINS
43db595e 898 select GENERIC_PCI_IOMAP
1e05b62a 899 select NO_GENERIC_PCI_IOPORT_MAP
7693465d
PM
900 help
901 Find out whether you have a PCI motherboard. PCI is the name of a
902 bus system, i.e. the way the CPU talks to the other stuff inside
903 your box. If you have PCI, say Y, otherwise N.
1da177e4 904
320e68da
PM
905config PCI_DOMAINS
906 bool
907
e16038ab
PM
908source "drivers/pci/pcie/Kconfig"
909
1da177e4
LT
910source "drivers/pci/Kconfig"
911
912source "drivers/pcmcia/Kconfig"
913
914source "drivers/pci/hotplug/Kconfig"
915
916endmenu
917
918menu "Executable file formats"
919
920source "fs/Kconfig.binfmt"
921
922endmenu
923
3aa770e7 924menu "Power management options (EXPERIMENTAL)"
af998a9a 925depends on EXPERIMENTAL
f4cb5700 926
c6f17cb2
MD
927source "kernel/power/Kconfig"
928
929source "drivers/cpuidle/Kconfig"
3aa770e7 930
3aa770e7
AS
931endmenu
932
d5950b43
SR
933source "net/Kconfig"
934
1da177e4
LT
935source "drivers/Kconfig"
936
937source "fs/Kconfig"
938
1da177e4
LT
939source "arch/sh/Kconfig.debug"
940
941source "security/Kconfig"
942
943source "crypto/Kconfig"
944
945source "lib/Kconfig"