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