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