Kconfig: clean up the long arch list for the UID16 config option
[linux-3.10.git] / arch / sh / Kconfig
1 config SUPERH
2         def_bool y
3         select EXPERT
4         select CLKDEV_LOOKUP
5         select HAVE_IDE if HAS_IOPORT
6         select HAVE_MEMBLOCK
7         select HAVE_MEMBLOCK_NODE_MAP
8         select ARCH_DISCARD_MEMBLOCK
9         select HAVE_OPROFILE
10         select HAVE_GENERIC_DMA_COHERENT
11         select HAVE_ARCH_TRACEHOOK
12         select HAVE_DMA_API_DEBUG
13         select HAVE_DMA_ATTRS
14         select HAVE_IRQ_WORK
15         select HAVE_PERF_EVENTS
16         select ARCH_HAVE_CUSTOM_GPIO_H
17         select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
18         select PERF_USE_VMALLOC
19         select HAVE_KERNEL_GZIP
20         select HAVE_KERNEL_BZIP2
21         select HAVE_KERNEL_LZMA
22         select HAVE_KERNEL_XZ
23         select HAVE_KERNEL_LZO
24         select HAVE_UID16
25         select ARCH_WANT_IPC_PARSE_VERSION
26         select HAVE_SYSCALL_TRACEPOINTS
27         select HAVE_REGS_AND_STACK_ACCESS_API
28         select HAVE_GENERIC_HARDIRQS
29         select MAY_HAVE_SPARSE_IRQ
30         select IRQ_FORCED_THREADING
31         select RTC_LIB
32         select GENERIC_ATOMIC64
33         select GENERIC_IRQ_SHOW
34         select GENERIC_SMP_IDLE_THREAD
35         select GENERIC_CLOCKEVENTS
36         select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
37         select GENERIC_STRNCPY_FROM_USER
38         select GENERIC_STRNLEN_USER
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
45 config SUPERH32
46         def_bool ARCH = "sh"
47         select HAVE_KPROBES
48         select HAVE_KRETPROBES
49         select HAVE_IOREMAP_PROT if MMU && !X2TLB
50         select HAVE_FUNCTION_TRACER
51         select HAVE_FTRACE_MCOUNT_RECORD
52         select HAVE_DYNAMIC_FTRACE
53         select HAVE_FUNCTION_TRACE_MCOUNT_TEST
54         select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
55         select ARCH_WANT_IPC_PARSE_VERSION
56         select HAVE_FUNCTION_GRAPH_TRACER
57         select HAVE_ARCH_KGDB
58         select HAVE_HW_BREAKPOINT
59         select HAVE_MIXED_BREAKPOINTS_REGS
60         select PERF_EVENTS
61         select ARCH_HIBERNATION_POSSIBLE if MMU
62         select SPARSE_IRQ
63
64 config SUPERH64
65         def_bool ARCH = "sh64"
66         select KALLSYMS
67
68 config ARCH_DEFCONFIG
69         string
70         default "arch/sh/configs/shx3_defconfig" if SUPERH32
71         default "arch/sh/configs/cayman_defconfig" if SUPERH64
72
73 config RWSEM_GENERIC_SPINLOCK
74         def_bool y
75
76 config RWSEM_XCHGADD_ALGORITHM
77         bool
78
79 config GENERIC_BUG
80         def_bool y
81         depends on BUG && SUPERH32
82
83 config GENERIC_CSUM
84         def_bool y
85         depends on SUPERH64
86
87 config GENERIC_HWEIGHT
88         def_bool y
89
90 config IRQ_PER_CPU
91         def_bool y
92
93 config GENERIC_GPIO
94         def_bool n
95
96 config GENERIC_CALIBRATE_DELAY
97         bool
98
99 config GENERIC_LOCKBREAK
100         def_bool y
101         depends on SMP && PREEMPT
102
103 config ARCH_SUSPEND_POSSIBLE
104         def_bool n
105
106 config ARCH_HIBERNATION_POSSIBLE
107         def_bool n
108
109 config SYS_SUPPORTS_APM_EMULATION
110         bool
111         select ARCH_SUSPEND_POSSIBLE
112
113 config SYS_SUPPORTS_HUGETLBFS
114         bool
115
116 config SYS_SUPPORTS_SMP
117         bool
118
119 config SYS_SUPPORTS_NUMA
120         bool
121
122 config SYS_SUPPORTS_PCI
123         bool
124
125 config SYS_SUPPORTS_CMT
126         bool
127
128 config SYS_SUPPORTS_MTU2
129         bool
130
131 config SYS_SUPPORTS_TMU
132         bool
133
134 config STACKTRACE_SUPPORT
135         def_bool y
136
137 config LOCKDEP_SUPPORT
138         def_bool y
139
140 config HAVE_LATENCYTOP_SUPPORT
141         def_bool y
142
143 config ARCH_HAS_ILOG2_U32
144         def_bool n
145
146 config ARCH_HAS_ILOG2_U64
147         def_bool n
148
149 config ARCH_NO_VIRT_TO_BUS
150         def_bool y
151
152 config ARCH_HAS_DEFAULT_IDLE
153         def_bool y
154
155 config NO_IOPORT
156         def_bool !PCI
157         depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
158                    !SH_HP6XX && !SH_SOLUTION_ENGINE
159
160 config IO_TRAPPED
161         bool
162
163 config SWAP_IO_SPACE
164         bool
165
166 config DMA_COHERENT
167         bool
168
169 config DMA_NONCOHERENT
170         def_bool !DMA_COHERENT
171
172 config NEED_DMA_MAP_STATE
173         def_bool DMA_NONCOHERENT
174
175 config NEED_SG_DMA_LENGTH
176         def_bool y
177
178 source "init/Kconfig"
179
180 source "kernel/Kconfig.freezer"
181
182 menu "System type"
183
184 #
185 # Processor families
186 #
187 config CPU_SH2
188         bool
189
190 config CPU_SH2A
191         bool
192         select CPU_SH2
193         select UNCACHED_MAPPING
194
195 config CPU_SH3
196         bool
197         select CPU_HAS_INTEVT
198         select CPU_HAS_SR_RB
199         select SYS_SUPPORTS_TMU
200
201 config CPU_SH4
202         bool
203         select CPU_HAS_INTEVT
204         select CPU_HAS_SR_RB
205         select CPU_HAS_FPU if !CPU_SH4AL_DSP
206         select SYS_SUPPORTS_TMU
207         select SYS_SUPPORTS_HUGETLBFS if MMU
208
209 config CPU_SH4A
210         bool
211         select CPU_SH4
212
213 config CPU_SH4AL_DSP
214         bool
215         select CPU_SH4A
216         select CPU_HAS_DSP
217
218 config CPU_SH5
219         bool
220         select CPU_HAS_FPU
221         select SYS_SUPPORTS_TMU
222         select SYS_SUPPORTS_HUGETLBFS if MMU
223
224 config CPU_SHX2
225         bool
226
227 config CPU_SHX3
228         bool
229         select DMA_COHERENT
230         select SYS_SUPPORTS_SMP
231         select SYS_SUPPORTS_NUMA
232
233 config ARCH_SHMOBILE
234         bool
235         select ARCH_SUSPEND_POSSIBLE
236         select PM
237         select PM_RUNTIME
238
239 config CPU_HAS_PMU
240        depends on CPU_SH4 || CPU_SH4A
241        default y
242        bool
243
244 if SUPERH32
245
246 choice
247         prompt "Processor sub-type selection"
248
249 #
250 # Processor subtypes
251 #
252
253 # SH-2 Processor Support
254
255 config CPU_SUBTYPE_SH7619
256         bool "Support SH7619 processor"
257         select CPU_SH2
258         select SYS_SUPPORTS_CMT
259
260 # SH-2A Processor Support
261
262 config CPU_SUBTYPE_SH7201
263         bool "Support SH7201 processor"
264         select CPU_SH2A
265         select CPU_HAS_FPU
266         select SYS_SUPPORTS_MTU2
267  
268 config CPU_SUBTYPE_SH7203
269         bool "Support SH7203 processor"
270         select CPU_SH2A
271         select CPU_HAS_FPU
272         select SYS_SUPPORTS_CMT
273         select SYS_SUPPORTS_MTU2
274         select ARCH_WANT_OPTIONAL_GPIOLIB
275
276 config CPU_SUBTYPE_SH7206
277         bool "Support SH7206 processor"
278         select CPU_SH2A
279         select SYS_SUPPORTS_CMT
280         select SYS_SUPPORTS_MTU2
281
282 config CPU_SUBTYPE_SH7263
283         bool "Support SH7263 processor"
284         select CPU_SH2A
285         select CPU_HAS_FPU
286         select SYS_SUPPORTS_CMT
287         select SYS_SUPPORTS_MTU2
288
289 config 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
296 config 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
303 config CPU_SUBTYPE_MXG
304         bool "Support MX-G processor"
305         select CPU_SH2A
306         select SYS_SUPPORTS_MTU2
307         help
308           Select MX-G if running on an R8A03022BG part.
309
310 # SH-3 Processor Support
311
312 config CPU_SUBTYPE_SH7705
313         bool "Support SH7705 processor"
314         select CPU_SH3
315
316 config 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
322 config 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
328 config 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
335 config 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
341 config 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
348 config 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
355 config CPU_SUBTYPE_SH7720
356         bool "Support SH7720 processor"
357         select CPU_SH3
358         select CPU_HAS_DSP
359         select SYS_SUPPORTS_CMT
360         select ARCH_WANT_OPTIONAL_GPIOLIB
361         select USB_ARCH_HAS_OHCI
362         select USB_OHCI_SH if USB_OHCI_HCD
363         help
364           Select SH7720 if you have a SH3-DSP SH7720 CPU.
365
366 config CPU_SUBTYPE_SH7721
367         bool "Support SH7721 processor"
368         select CPU_SH3
369         select CPU_HAS_DSP
370         select SYS_SUPPORTS_CMT
371         select USB_ARCH_HAS_OHCI
372         select USB_OHCI_SH if USB_OHCI_HCD
373         help
374           Select SH7721 if you have a SH3-DSP SH7721 CPU.
375
376 # SH-4 Processor Support
377
378 config 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
384 config 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
391 config CPU_SUBTYPE_SH7750R
392         bool "Support SH7750R processor"
393         select CPU_SH4
394
395 config CPU_SUBTYPE_SH7750S
396         bool "Support SH7750S processor"
397         select CPU_SH4
398
399 config 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
406 config CPU_SUBTYPE_SH7751R
407         bool "Support SH7751R processor"
408         select CPU_SH4
409
410 config CPU_SUBTYPE_SH7760
411         bool "Support SH7760 processor"
412         select CPU_SH4
413
414 config CPU_SUBTYPE_SH4_202
415         bool "Support SH4-202 processor"
416         select CPU_SH4
417
418 # SH-4A Processor Support
419
420 config CPU_SUBTYPE_SH7723
421         bool "Support SH7723 processor"
422         select CPU_SH4A
423         select CPU_SHX2
424         select ARCH_SHMOBILE
425         select ARCH_SPARSEMEM_ENABLE
426         select SYS_SUPPORTS_CMT
427         select ARCH_WANT_OPTIONAL_GPIOLIB
428         help
429           Select SH7723 if you have an SH-MobileR2 CPU.
430
431 config CPU_SUBTYPE_SH7724
432         bool "Support SH7724 processor"
433         select CPU_SH4A
434         select CPU_SHX2
435         select ARCH_SHMOBILE
436         select ARCH_SPARSEMEM_ENABLE
437         select SYS_SUPPORTS_CMT
438         select ARCH_WANT_OPTIONAL_GPIOLIB
439         help
440           Select SH7724 if you have an SH-MobileR2R CPU.
441
442 config 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
452 config CPU_SUBTYPE_SH7757
453         bool "Support SH7757 processor"
454         select CPU_SH4A
455         select CPU_SHX2
456         select ARCH_WANT_OPTIONAL_GPIOLIB
457         select USB_ARCH_HAS_OHCI
458         select USB_ARCH_HAS_EHCI
459         help
460           Select SH7757 if you have a SH4A SH7757 CPU.
461
462 config CPU_SUBTYPE_SH7763
463         bool "Support SH7763 processor"
464         select CPU_SH4A
465         select USB_ARCH_HAS_OHCI
466         select USB_OHCI_SH if USB_OHCI_HCD
467         help
468           Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
469
470 config CPU_SUBTYPE_SH7770
471         bool "Support SH7770 processor"
472         select CPU_SH4A
473
474 config CPU_SUBTYPE_SH7780
475         bool "Support SH7780 processor"
476         select CPU_SH4A
477
478 config CPU_SUBTYPE_SH7785
479         bool "Support SH7785 processor"
480         select CPU_SH4A
481         select CPU_SHX2
482         select ARCH_SPARSEMEM_ENABLE
483         select SYS_SUPPORTS_NUMA
484         select ARCH_WANT_OPTIONAL_GPIOLIB
485
486 config CPU_SUBTYPE_SH7786
487         bool "Support SH7786 processor"
488         select CPU_SH4A
489         select CPU_SHX3
490         select CPU_HAS_PTEAEX
491         select GENERIC_CLOCKEVENTS_BROADCAST if SMP
492         select ARCH_WANT_OPTIONAL_GPIOLIB
493         select USB_ARCH_HAS_OHCI
494         select USB_OHCI_SH if USB_OHCI_HCD
495         select USB_ARCH_HAS_EHCI
496         select USB_EHCI_SH if USB_EHCI_HCD
497
498 config CPU_SUBTYPE_SHX3
499         bool "Support SH-X3 processor"
500         select CPU_SH4A
501         select CPU_SHX3
502         select GENERIC_CLOCKEVENTS_BROADCAST if SMP
503         select ARCH_REQUIRE_GPIOLIB
504
505 # SH4AL-DSP Processor Support
506
507 config CPU_SUBTYPE_SH7343
508         bool "Support SH7343 processor"
509         select CPU_SH4AL_DSP
510         select ARCH_SHMOBILE
511         select SYS_SUPPORTS_CMT
512
513 config CPU_SUBTYPE_SH7722
514         bool "Support SH7722 processor"
515         select CPU_SH4AL_DSP
516         select CPU_SHX2
517         select ARCH_SHMOBILE
518         select ARCH_SPARSEMEM_ENABLE
519         select SYS_SUPPORTS_NUMA
520         select SYS_SUPPORTS_CMT
521         select ARCH_WANT_OPTIONAL_GPIOLIB
522
523 config CPU_SUBTYPE_SH7366
524         bool "Support SH7366 processor"
525         select CPU_SH4AL_DSP
526         select CPU_SHX2
527         select ARCH_SHMOBILE
528         select ARCH_SPARSEMEM_ENABLE
529         select SYS_SUPPORTS_NUMA
530         select SYS_SUPPORTS_CMT
531
532 endchoice
533
534 endif
535
536 if SUPERH64
537
538 choice
539         prompt "Processor sub-type selection"
540
541 # SH-5 Processor Support
542
543 config CPU_SUBTYPE_SH5_101
544         bool "Support SH5-101 processor"
545         select CPU_SH5
546
547 config CPU_SUBTYPE_SH5_103
548         bool "Support SH5-103 processor"
549         select CPU_SH5
550
551 endchoice
552
553 endif
554
555 source "arch/sh/mm/Kconfig"
556  
557 source "arch/sh/Kconfig.cpu"
558
559 source "arch/sh/boards/Kconfig"
560
561 menu "Timer and clock configuration"
562
563 config SH_TIMER_TMU
564         bool "TMU timer driver"
565         depends on SYS_SUPPORTS_TMU
566         default y
567         help
568           This enables the build of the TMU timer driver.
569
570 config SH_TIMER_CMT
571         bool "CMT timer driver"
572         depends on SYS_SUPPORTS_CMT
573         default y
574         help
575           This enables build of the CMT timer driver.
576
577 config SH_TIMER_MTU2
578         bool "MTU2 timer driver"
579         depends on SYS_SUPPORTS_MTU2
580         default y
581         help
582           This enables build of the MTU2 timer driver.
583
584 config SH_PCLK_FREQ
585         int "Peripheral clock frequency (in Hz)"
586         depends on SH_CLK_CPG_LEGACY
587         default "31250000" if CPU_SUBTYPE_SH7619
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 || \
594                               CPU_SUBTYPE_MXG
595         default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
596         default "66000000" if CPU_SUBTYPE_SH4_202
597         default "50000000"
598         help
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.
602
603 config SH_CLK_CPG
604         def_bool y
605
606 config SH_CLK_CPG_LEGACY
607         depends on SH_CLK_CPG
608         def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
609                       !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
610                       !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
611                       !CPU_SUBTYPE_SH7269
612
613 endmenu
614
615 menu "CPU Frequency scaling"
616
617 source "drivers/cpufreq/Kconfig"
618
619 config SH_CPU_FREQ
620         tristate "SuperH CPU Frequency driver"
621         depends on CPU_FREQ
622         select CPU_FREQ_TABLE
623         help
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.
630
631           For details, take a look at <file:Documentation/cpu-freq>.
632
633           If unsure, say N.
634
635 endmenu
636
637 source "arch/sh/drivers/Kconfig"
638
639 endmenu
640
641 menu "Kernel features"
642
643 source kernel/Kconfig.hz
644
645 config KEXEC
646         bool "kexec system call (EXPERIMENTAL)"
647         depends on SUPERH32 && EXPERIMENTAL && MMU
648         help
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
651           but it is independent of the system firmware.  And like a reboot
652           you can start any kernel with it, not just Linux.
653
654           The name comes from the similarity to the exec system call.
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
662 config CRASH_DUMP
663         bool "kernel crash dumps (EXPERIMENTAL)"
664         depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
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
672           PHYSICAL_START.
673
674           For more details see Documentation/kdump/kdump.txt
675
676 config 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
683 config 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
694 config SECCOMP
695         bool "Enable seccomp to safely compute untrusted bytecode"
696         depends on PROC_FS
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
710 config 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
724 config SMP
725         bool "Symmetric multi-processing support"
726         depends on SYS_SUPPORTS_SMP
727         select USE_GENERIC_SMP_HELPERS
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
742           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
743           available at <http://www.tldp.org/docs.html#howto>.
744
745           If you don't know what to do here, say N.
746
747 config NR_CPUS
748         int "Maximum number of CPUs (2-32)"
749         range 2 32
750         depends on SMP
751         default "4" if CPU_SUBTYPE_SHX3
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
761 config 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
768 source "kernel/Kconfig.preempt"
769
770 config GUSA
771         def_bool y
772         depends on !SMP && SUPERH32
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
784 config 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
789           atomic operations using a software implementation of load-locked/
790           store-conditional (LLSC). On machines which do not have hardware
791           LLSC, this should be more efficient than the other alternative of
792           disabling interrupts around the atomic sequence.
793
794 config 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
802 source "drivers/sh/Kconfig"
803
804 endmenu
805
806 menu "Boot options"
807
808 config ZERO_PAGE_OFFSET
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
813         default "0x00002000" if PAGE_SIZE_8KB
814         default "0x00001000"
815         help
816           This sets the default offset of zero page.
817
818 config BOOT_LINK_OFFSET
819         hex
820         default "0x00210000" if SH_SHMIN
821         default "0x00400000" if SH_CAYMAN
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
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.
831
832 config 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
840 config 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
851 choice
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
859 config CMDLINE_OVERWRITE
860         bool "Overwrite bootloader kernel arguments"
861         help
862           Given string will overwrite any arguments passed in by
863           a bootloader.
864
865 config 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
871 endchoice
872
873 config CMDLINE
874         string "Kernel command line arguments string"
875         depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
876         default "console=ttySC1,115200"
877
878 endmenu
879
880 menu "Bus options"
881
882 config SUPERHYWAY
883         tristate "SuperHyway Bus support"
884         depends on CPU_SUBTYPE_SH4_202
885
886 config MAPLE
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.
896
897 config PCI
898         bool "PCI support"
899         depends on SYS_SUPPORTS_PCI
900         select PCI_DOMAINS
901         select GENERIC_PCI_IOMAP
902         select NO_GENERIC_PCI_IOPORT_MAP
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.
907
908 config PCI_DOMAINS
909         bool
910
911 source "drivers/pci/pcie/Kconfig"
912
913 source "drivers/pci/Kconfig"
914
915 source "drivers/pcmcia/Kconfig"
916
917 source "drivers/pci/hotplug/Kconfig"
918
919 endmenu
920
921 menu "Executable file formats"
922
923 source "fs/Kconfig.binfmt"
924
925 endmenu
926
927 menu "Power management options (EXPERIMENTAL)"
928 depends on EXPERIMENTAL
929
930 source "kernel/power/Kconfig"
931
932 source "drivers/cpuidle/Kconfig"
933
934 endmenu
935
936 source "net/Kconfig"
937
938 source "drivers/Kconfig"
939
940 source "fs/Kconfig"
941
942 source "arch/sh/Kconfig.debug"
943
944 source "security/Kconfig"
945
946 source "crypto/Kconfig"
947
948 source "lib/Kconfig"