Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux/fpc-iii.git] / arch / sh / Kconfig
blob479146c180cba2df6d856b2d82b959bf1f812a15
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_PERF_EVENTS
15         select HAVE_DEBUG_BUGVERBOSE
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_DEBUG_KMEMLEAK
20         select HAVE_KERNEL_GZIP
21         select HAVE_KERNEL_BZIP2
22         select HAVE_KERNEL_LZMA
23         select HAVE_KERNEL_XZ
24         select HAVE_KERNEL_LZO
25         select HAVE_UID16
26         select ARCH_WANT_IPC_PARSE_VERSION
27         select HAVE_SYSCALL_TRACEPOINTS
28         select HAVE_REGS_AND_STACK_ACCESS_API
29         select HAVE_GENERIC_HARDIRQS
30         select MAY_HAVE_SPARSE_IRQ
31         select IRQ_FORCED_THREADING
32         select RTC_LIB
33         select GENERIC_ATOMIC64
34         select GENERIC_IRQ_SHOW
35         select GENERIC_SMP_IDLE_THREAD
36         select GENERIC_CLOCKEVENTS
37         select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
38         select GENERIC_STRNCPY_FROM_USER
39         select GENERIC_STRNLEN_USER
40         select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
41         select MODULES_USE_ELF_RELA
42         help
43           The SuperH is a RISC processor targeted for use in embedded systems
44           and consumer electronics; it was also used in the Sega Dreamcast
45           gaming console.  The SuperH port has a home page at
46           <http://www.linux-sh.org/>.
48 config SUPERH32
49         def_bool ARCH = "sh"
50         select HAVE_KPROBES
51         select HAVE_KRETPROBES
52         select HAVE_IOREMAP_PROT if MMU && !X2TLB
53         select HAVE_FUNCTION_TRACER
54         select HAVE_FTRACE_MCOUNT_RECORD
55         select HAVE_DYNAMIC_FTRACE
56         select HAVE_FUNCTION_TRACE_MCOUNT_TEST
57         select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
58         select ARCH_WANT_IPC_PARSE_VERSION
59         select HAVE_FUNCTION_GRAPH_TRACER
60         select HAVE_ARCH_KGDB
61         select HAVE_HW_BREAKPOINT
62         select HAVE_MIXED_BREAKPOINTS_REGS
63         select PERF_EVENTS
64         select ARCH_HIBERNATION_POSSIBLE if MMU
65         select SPARSE_IRQ
67 config SUPERH64
68         def_bool ARCH = "sh64"
69         select KALLSYMS
71 config ARCH_DEFCONFIG
72         string
73         default "arch/sh/configs/shx3_defconfig" if SUPERH32
74         default "arch/sh/configs/cayman_defconfig" if SUPERH64
76 config RWSEM_GENERIC_SPINLOCK
77         def_bool y
79 config RWSEM_XCHGADD_ALGORITHM
80         bool
82 config GENERIC_BUG
83         def_bool y
84         depends on BUG && SUPERH32
86 config GENERIC_CSUM
87         def_bool y
88         depends on SUPERH64
90 config GENERIC_HWEIGHT
91         def_bool y
93 config GENERIC_GPIO
94         def_bool n
96 config GENERIC_CALIBRATE_DELAY
97         bool
99 config GENERIC_LOCKBREAK
100         def_bool y
101         depends on SMP && PREEMPT
103 config ARCH_SUSPEND_POSSIBLE
104         def_bool n
106 config ARCH_HIBERNATION_POSSIBLE
107         def_bool n
109 config SYS_SUPPORTS_APM_EMULATION
110         bool
111         select ARCH_SUSPEND_POSSIBLE
113 config SYS_SUPPORTS_HUGETLBFS
114         bool
116 config SYS_SUPPORTS_SMP
117         bool
119 config SYS_SUPPORTS_NUMA
120         bool
122 config SYS_SUPPORTS_PCI
123         bool
125 config SYS_SUPPORTS_CMT
126         bool
128 config SYS_SUPPORTS_MTU2
129         bool
131 config SYS_SUPPORTS_TMU
132         bool
134 config STACKTRACE_SUPPORT
135         def_bool y
137 config LOCKDEP_SUPPORT
138         def_bool y
140 config HAVE_LATENCYTOP_SUPPORT
141         def_bool y
143 config ARCH_HAS_ILOG2_U32
144         def_bool n
146 config ARCH_HAS_ILOG2_U64
147         def_bool n
149 config ARCH_NO_VIRT_TO_BUS
150         def_bool y
152 config ARCH_HAS_DEFAULT_IDLE
153         def_bool y
155 config NO_IOPORT
156         def_bool !PCI
157         depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
158                    !SH_HP6XX && !SH_SOLUTION_ENGINE
160 config IO_TRAPPED
161         bool
163 config SWAP_IO_SPACE
164         bool
166 config DMA_COHERENT
167         bool
169 config DMA_NONCOHERENT
170         def_bool !DMA_COHERENT
172 config NEED_DMA_MAP_STATE
173         def_bool DMA_NONCOHERENT
175 config NEED_SG_DMA_LENGTH
176         def_bool y
178 source "init/Kconfig"
180 source "kernel/Kconfig.freezer"
182 menu "System type"
185 # Processor families
187 config CPU_SH2
188         bool
190 config CPU_SH2A
191         bool
192         select CPU_SH2
193         select UNCACHED_MAPPING
195 config CPU_SH3
196         bool
197         select CPU_HAS_INTEVT
198         select CPU_HAS_SR_RB
199         select SYS_SUPPORTS_TMU
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
209 config CPU_SH4A
210         bool
211         select CPU_SH4
213 config CPU_SH4AL_DSP
214         bool
215         select CPU_SH4A
216         select CPU_HAS_DSP
218 config CPU_SH5
219         bool
220         select CPU_HAS_FPU
221         select SYS_SUPPORTS_TMU
222         select SYS_SUPPORTS_HUGETLBFS if MMU
224 config CPU_SHX2
225         bool
227 config CPU_SHX3
228         bool
229         select DMA_COHERENT
230         select SYS_SUPPORTS_SMP
231         select SYS_SUPPORTS_NUMA
233 config ARCH_SHMOBILE
234         bool
235         select ARCH_SUSPEND_POSSIBLE
236         select PM
237         select PM_RUNTIME
239 config CPU_HAS_PMU
240        depends on CPU_SH4 || CPU_SH4A
241        default y
242        bool
244 if SUPERH32
246 choice
247         prompt "Processor sub-type selection"
250 # Processor subtypes
253 # SH-2 Processor Support
255 config CPU_SUBTYPE_SH7619
256         bool "Support SH7619 processor"
257         select CPU_SH2
258         select SYS_SUPPORTS_CMT
260 # SH-2A Processor Support
262 config CPU_SUBTYPE_SH7201
263         bool "Support SH7201 processor"
264         select CPU_SH2A
265         select CPU_HAS_FPU
266         select SYS_SUPPORTS_MTU2
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         select PINCTRL
277 config CPU_SUBTYPE_SH7206
278         bool "Support SH7206 processor"
279         select CPU_SH2A
280         select SYS_SUPPORTS_CMT
281         select SYS_SUPPORTS_MTU2
283 config CPU_SUBTYPE_SH7263
284         bool "Support SH7263 processor"
285         select CPU_SH2A
286         select CPU_HAS_FPU
287         select SYS_SUPPORTS_CMT
288         select SYS_SUPPORTS_MTU2
290 config CPU_SUBTYPE_SH7264
291         bool "Support SH7264 processor"
292         select CPU_SH2A
293         select CPU_HAS_FPU
294         select SYS_SUPPORTS_CMT
295         select SYS_SUPPORTS_MTU2
296         select PINCTRL
298 config CPU_SUBTYPE_SH7269
299         bool "Support SH7269 processor"
300         select CPU_SH2A
301         select CPU_HAS_FPU
302         select SYS_SUPPORTS_CMT
303         select SYS_SUPPORTS_MTU2
304         select PINCTRL
306 config CPU_SUBTYPE_MXG
307         bool "Support MX-G processor"
308         select CPU_SH2A
309         select SYS_SUPPORTS_MTU2
310         help
311           Select MX-G if running on an R8A03022BG part.
313 # SH-3 Processor Support
315 config CPU_SUBTYPE_SH7705
316         bool "Support SH7705 processor"
317         select CPU_SH3
319 config CPU_SUBTYPE_SH7706
320         bool "Support SH7706 processor"
321         select CPU_SH3
322         help
323           Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
325 config CPU_SUBTYPE_SH7707
326         bool "Support SH7707 processor"
327         select CPU_SH3
328         help
329           Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
331 config CPU_SUBTYPE_SH7708
332         bool "Support SH7708 processor"
333         select CPU_SH3
334         help
335           Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
336           if you have a 100 Mhz SH-3 HD6417708R CPU.
338 config CPU_SUBTYPE_SH7709
339         bool "Support SH7709 processor"
340         select CPU_SH3
341         help
342           Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
344 config CPU_SUBTYPE_SH7710
345         bool "Support SH7710 processor"
346         select CPU_SH3
347         select CPU_HAS_DSP
348         help
349           Select SH7710 if you have a SH3-DSP SH7710 CPU.
351 config CPU_SUBTYPE_SH7712
352         bool "Support SH7712 processor"
353         select CPU_SH3
354         select CPU_HAS_DSP
355         help
356           Select SH7712 if you have a SH3-DSP SH7712 CPU.
358 config CPU_SUBTYPE_SH7720
359         bool "Support SH7720 processor"
360         select CPU_SH3
361         select CPU_HAS_DSP
362         select SYS_SUPPORTS_CMT
363         select ARCH_WANT_OPTIONAL_GPIOLIB
364         select USB_ARCH_HAS_OHCI
365         select USB_OHCI_SH if USB_OHCI_HCD
366         select PINCTRL
367         help
368           Select SH7720 if you have a SH3-DSP SH7720 CPU.
370 config CPU_SUBTYPE_SH7721
371         bool "Support SH7721 processor"
372         select CPU_SH3
373         select CPU_HAS_DSP
374         select SYS_SUPPORTS_CMT
375         select USB_ARCH_HAS_OHCI
376         select USB_OHCI_SH if USB_OHCI_HCD
377         help
378           Select SH7721 if you have a SH3-DSP SH7721 CPU.
380 # SH-4 Processor Support
382 config CPU_SUBTYPE_SH7750
383         bool "Support SH7750 processor"
384         select CPU_SH4
385         help
386           Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
388 config CPU_SUBTYPE_SH7091
389         bool "Support SH7091 processor"
390         select CPU_SH4
391         help
392           Select SH7091 if you have an SH-4 based Sega device (such as
393           the Dreamcast, Naomi, and Naomi 2).
395 config CPU_SUBTYPE_SH7750R
396         bool "Support SH7750R processor"
397         select CPU_SH4
399 config CPU_SUBTYPE_SH7750S
400         bool "Support SH7750S processor"
401         select CPU_SH4
403 config CPU_SUBTYPE_SH7751
404         bool "Support SH7751 processor"
405         select CPU_SH4
406         help
407           Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
408           or if you have a HD6417751R CPU.
410 config CPU_SUBTYPE_SH7751R
411         bool "Support SH7751R processor"
412         select CPU_SH4
414 config CPU_SUBTYPE_SH7760
415         bool "Support SH7760 processor"
416         select CPU_SH4
418 config CPU_SUBTYPE_SH4_202
419         bool "Support SH4-202 processor"
420         select CPU_SH4
422 # SH-4A Processor Support
424 config CPU_SUBTYPE_SH7723
425         bool "Support SH7723 processor"
426         select CPU_SH4A
427         select CPU_SHX2
428         select ARCH_SHMOBILE
429         select ARCH_SPARSEMEM_ENABLE
430         select SYS_SUPPORTS_CMT
431         select ARCH_WANT_OPTIONAL_GPIOLIB
432         select PINCTRL
433         help
434           Select SH7723 if you have an SH-MobileR2 CPU.
436 config CPU_SUBTYPE_SH7724
437         bool "Support SH7724 processor"
438         select CPU_SH4A
439         select CPU_SHX2
440         select ARCH_SHMOBILE
441         select ARCH_SPARSEMEM_ENABLE
442         select SYS_SUPPORTS_CMT
443         select ARCH_WANT_OPTIONAL_GPIOLIB
444         select PINCTRL
445         help
446           Select SH7724 if you have an SH-MobileR2R CPU.
448 config CPU_SUBTYPE_SH7734
449         bool "Support SH7734 processor"
450         select CPU_SH4A
451         select CPU_SHX2
452         select ARCH_WANT_OPTIONAL_GPIOLIB
453         select USB_ARCH_HAS_OHCI
454         select USB_ARCH_HAS_EHCI
455         select PINCTRL
456         help
457           Select SH7734 if you have a SH4A SH7734 CPU.
459 config CPU_SUBTYPE_SH7757
460         bool "Support SH7757 processor"
461         select CPU_SH4A
462         select CPU_SHX2
463         select ARCH_WANT_OPTIONAL_GPIOLIB
464         select USB_ARCH_HAS_OHCI
465         select USB_ARCH_HAS_EHCI
466         select PINCTRL
467         help
468           Select SH7757 if you have a SH4A SH7757 CPU.
470 config CPU_SUBTYPE_SH7763
471         bool "Support SH7763 processor"
472         select CPU_SH4A
473         select USB_ARCH_HAS_OHCI
474         select USB_OHCI_SH if USB_OHCI_HCD
475         help
476           Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
478 config CPU_SUBTYPE_SH7770
479         bool "Support SH7770 processor"
480         select CPU_SH4A
482 config CPU_SUBTYPE_SH7780
483         bool "Support SH7780 processor"
484         select CPU_SH4A
486 config CPU_SUBTYPE_SH7785
487         bool "Support SH7785 processor"
488         select CPU_SH4A
489         select CPU_SHX2
490         select ARCH_SPARSEMEM_ENABLE
491         select SYS_SUPPORTS_NUMA
492         select ARCH_WANT_OPTIONAL_GPIOLIB
493         select PINCTRL
495 config CPU_SUBTYPE_SH7786
496         bool "Support SH7786 processor"
497         select CPU_SH4A
498         select CPU_SHX3
499         select CPU_HAS_PTEAEX
500         select GENERIC_CLOCKEVENTS_BROADCAST if SMP
501         select ARCH_WANT_OPTIONAL_GPIOLIB
502         select USB_ARCH_HAS_OHCI
503         select USB_OHCI_SH if USB_OHCI_HCD
504         select USB_ARCH_HAS_EHCI
505         select USB_EHCI_SH if USB_EHCI_HCD
506         select PINCTRL
508 config CPU_SUBTYPE_SHX3
509         bool "Support SH-X3 processor"
510         select CPU_SH4A
511         select CPU_SHX3
512         select GENERIC_CLOCKEVENTS_BROADCAST if SMP
513         select ARCH_REQUIRE_GPIOLIB
514         select PINCTRL
516 # SH4AL-DSP Processor Support
518 config CPU_SUBTYPE_SH7343
519         bool "Support SH7343 processor"
520         select CPU_SH4AL_DSP
521         select ARCH_SHMOBILE
522         select SYS_SUPPORTS_CMT
524 config CPU_SUBTYPE_SH7722
525         bool "Support SH7722 processor"
526         select CPU_SH4AL_DSP
527         select CPU_SHX2
528         select ARCH_SHMOBILE
529         select ARCH_SPARSEMEM_ENABLE
530         select SYS_SUPPORTS_NUMA
531         select SYS_SUPPORTS_CMT
532         select ARCH_WANT_OPTIONAL_GPIOLIB
533         select PINCTRL
535 config CPU_SUBTYPE_SH7366
536         bool "Support SH7366 processor"
537         select CPU_SH4AL_DSP
538         select CPU_SHX2
539         select ARCH_SHMOBILE
540         select ARCH_SPARSEMEM_ENABLE
541         select SYS_SUPPORTS_NUMA
542         select SYS_SUPPORTS_CMT
544 endchoice
546 endif
548 if SUPERH64
550 choice
551         prompt "Processor sub-type selection"
553 # SH-5 Processor Support
555 config CPU_SUBTYPE_SH5_101
556         bool "Support SH5-101 processor"
557         select CPU_SH5
559 config CPU_SUBTYPE_SH5_103
560         bool "Support SH5-103 processor"
561         select CPU_SH5
563 endchoice
565 endif
567 source "arch/sh/mm/Kconfig"
569 source "arch/sh/Kconfig.cpu"
571 source "arch/sh/boards/Kconfig"
573 menu "Timer and clock configuration"
575 config SH_TIMER_TMU
576         bool "TMU timer driver"
577         depends on SYS_SUPPORTS_TMU
578         default y
579         help
580           This enables the build of the TMU timer driver.
582 config SH_TIMER_CMT
583         bool "CMT timer driver"
584         depends on SYS_SUPPORTS_CMT
585         default y
586         help
587           This enables build of the CMT timer driver.
589 config SH_TIMER_MTU2
590         bool "MTU2 timer driver"
591         depends on SYS_SUPPORTS_MTU2
592         default y
593         help
594           This enables build of the MTU2 timer driver.
596 config SH_PCLK_FREQ
597         int "Peripheral clock frequency (in Hz)"
598         depends on SH_CLK_CPG_LEGACY
599         default "31250000" if CPU_SUBTYPE_SH7619
600         default "33333333" if CPU_SUBTYPE_SH7770 || \
601                               CPU_SUBTYPE_SH7760 || \
602                               CPU_SUBTYPE_SH7705 || \
603                               CPU_SUBTYPE_SH7203 || \
604                               CPU_SUBTYPE_SH7206 || \
605                               CPU_SUBTYPE_SH7263 || \
606                               CPU_SUBTYPE_MXG
607         default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
608         default "66000000" if CPU_SUBTYPE_SH4_202
609         default "50000000"
610         help
611           This option is used to specify the peripheral clock frequency.
612           This is necessary for determining the reference clock value on
613           platforms lacking an RTC.
615 config SH_CLK_CPG
616         def_bool y
618 config SH_CLK_CPG_LEGACY
619         depends on SH_CLK_CPG
620         def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
621                       !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
622                       !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
623                       !CPU_SUBTYPE_SH7269
625 endmenu
627 menu "CPU Frequency scaling"
629 source "drivers/cpufreq/Kconfig"
631 config SH_CPU_FREQ
632         tristate "SuperH CPU Frequency driver"
633         depends on CPU_FREQ
634         select CPU_FREQ_TABLE
635         help
636           This adds the cpufreq driver for SuperH. Any CPU that supports
637           clock rate rounding through the clock framework can use this
638           driver. While it will make the kernel slightly larger, this is
639           harmless for CPUs that don't support rate rounding. The driver
640           will also generate a notice in the boot log before disabling
641           itself if the CPU in question is not capable of rate rounding.
643           For details, take a look at <file:Documentation/cpu-freq>.
645           If unsure, say N.
647 endmenu
649 source "arch/sh/drivers/Kconfig"
651 endmenu
653 menu "Kernel features"
655 source kernel/Kconfig.hz
657 config KEXEC
658         bool "kexec system call (EXPERIMENTAL)"
659         depends on SUPERH32 && MMU
660         help
661           kexec is a system call that implements the ability to shutdown your
662           current kernel, and to start another kernel.  It is like a reboot
663           but it is independent of the system firmware.  And like a reboot
664           you can start any kernel with it, not just Linux.
666           The name comes from the similarity to the exec system call.
668           It is an ongoing process to be certain the hardware in a machine
669           is properly shutdown, so do not be surprised if this code does not
670           initially work for you.  It may help to enable device hotplugging
671           support.  As of this writing the exact hardware interface is
672           strongly in flux, so no good recommendation can be made.
674 config CRASH_DUMP
675         bool "kernel crash dumps (EXPERIMENTAL)"
676         depends on SUPERH32 && BROKEN_ON_SMP
677         help
678           Generate crash dump after being started by kexec.
679           This should be normally only set in special crash dump kernels
680           which are loaded in the main kernel with kexec-tools into
681           a specially reserved region and then later executed after
682           a crash by kdump/kexec. The crash dump kernel must be compiled
683           to a memory address not used by the main kernel using
684           PHYSICAL_START.
686           For more details see Documentation/kdump/kdump.txt
688 config KEXEC_JUMP
689         bool "kexec jump (EXPERIMENTAL)"
690         depends on SUPERH32 && KEXEC && HIBERNATION
691         help
692           Jump between original kernel and kexeced kernel and invoke
693           code via KEXEC
695 config PHYSICAL_START
696         hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
697         default MEMORY_START
698         ---help---
699           This gives the physical address where the kernel is loaded
700           and is ordinarily the same as MEMORY_START.
702           Different values are primarily used in the case of kexec on panic
703           where the fail safe kernel needs to run at a different address
704           than the panic-ed kernel.
706 config SECCOMP
707         bool "Enable seccomp to safely compute untrusted bytecode"
708         depends on PROC_FS
709         help
710           This kernel feature is useful for number crunching applications
711           that may need to compute untrusted bytecode during their
712           execution. By using pipes or other transports made available to
713           the process as file descriptors supporting the read/write
714           syscalls, it's possible to isolate those applications in
715           their own address space using seccomp. Once seccomp is
716           enabled via prctl, it cannot be disabled and the task is only
717           allowed to execute a few safe syscalls defined by each seccomp
718           mode.
720           If unsure, say N.
722 config CC_STACKPROTECTOR
723         bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
724         depends on SUPERH32
725         help
726           This option turns on the -fstack-protector GCC feature. This
727           feature puts, at the beginning of functions, a canary value on
728           the stack just before the return address, and validates
729           the value just before actually returning.  Stack based buffer
730           overflows (that need to overwrite this return address) now also
731           overwrite the canary, which gets detected and the attack is then
732           neutralized via a kernel panic.
734           This feature requires gcc version 4.2 or above.
736 config SMP
737         bool "Symmetric multi-processing support"
738         depends on SYS_SUPPORTS_SMP
739         select USE_GENERIC_SMP_HELPERS
740         ---help---
741           This enables support for systems with more than one CPU. If you have
742           a system with only one CPU, like most personal computers, say N. If
743           you have a system with more than one CPU, say Y.
745           If you say N here, the kernel will run on single and multiprocessor
746           machines, but will use only one CPU of a multiprocessor machine. If
747           you say Y here, the kernel will run on many, but not all,
748           singleprocessor machines. On a singleprocessor machine, the kernel
749           will run faster if you say N here.
751           People using multiprocessor machines who say Y here should also say
752           Y to "Enhanced Real Time Clock Support", below.
754           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
755           available at <http://www.tldp.org/docs.html#howto>.
757           If you don't know what to do here, say N.
759 config NR_CPUS
760         int "Maximum number of CPUs (2-32)"
761         range 2 32
762         depends on SMP
763         default "4" if CPU_SUBTYPE_SHX3
764         default "2"
765         help
766           This allows you to specify the maximum number of CPUs which this
767           kernel will support.  The maximum supported value is 32 and the
768           minimum value which makes sense is 2.
770           This is purely to save memory - each supported CPU adds
771           approximately eight kilobytes to the kernel image.
773 config HOTPLUG_CPU
774         bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
775         depends on SMP && HOTPLUG
776         help
777           Say Y here to experiment with turning CPUs off and on.  CPUs
778           can be controlled through /sys/devices/system/cpu.
780 source "kernel/Kconfig.preempt"
782 config GUSA
783         def_bool y
784         depends on !SMP && SUPERH32
785         help
786           This enables support for gUSA (general UserSpace Atomicity).
787           This is the default implementation for both UP and non-ll/sc
788           CPUs, and is used by the libc, amongst others.
790           For additional information, design information can be found 
791           in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
793           This should only be disabled for special cases where alternate
794           atomicity implementations exist.
796 config GUSA_RB
797         bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
798         depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
799         help
800           Enabling this option will allow the kernel to implement some
801           atomic operations using a software implementation of load-locked/
802           store-conditional (LLSC). On machines which do not have hardware
803           LLSC, this should be more efficient than the other alternative of
804           disabling interrupts around the atomic sequence.
806 config HW_PERF_EVENTS
807         bool "Enable hardware performance counter support for perf events"
808         depends on PERF_EVENTS && CPU_HAS_PMU
809         default y
810         help
811           Enable hardware performance counter support for perf events. If
812           disabled, perf events will use software events only.
814 source "drivers/sh/Kconfig"
816 endmenu
818 menu "Boot options"
820 config ZERO_PAGE_OFFSET
821         hex
822         default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
823                                 SH_7751_SOLUTION_ENGINE
824         default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
825         default "0x00002000" if PAGE_SIZE_8KB
826         default "0x00001000"
827         help
828           This sets the default offset of zero page.
830 config BOOT_LINK_OFFSET
831         hex
832         default "0x00210000" if SH_SHMIN
833         default "0x00400000" if SH_CAYMAN
834         default "0x00810000" if SH_7780_SOLUTION_ENGINE
835         default "0x009e0000" if SH_TITAN
836         default "0x01800000" if SH_SDK7780
837         default "0x02000000" if SH_EDOSK7760
838         default "0x00800000"
839         help
840           This option allows you to set the link address offset of the zImage.
841           This can be useful if you are on a board which has a small amount of
842           memory.
844 config ENTRY_OFFSET
845         hex
846         default "0x00001000" if PAGE_SIZE_4KB
847         default "0x00002000" if PAGE_SIZE_8KB
848         default "0x00004000" if PAGE_SIZE_16KB
849         default "0x00010000" if PAGE_SIZE_64KB
850         default "0x00000000"
852 config ROMIMAGE_MMCIF
853         bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
854         depends on CPU_SUBTYPE_SH7724
855         help
856           Say Y here to include experimental MMCIF loading code in
857           romImage. With this enabled it is possible to write the romImage
858           kernel image to an MMC card and boot the kernel straight from
859           the reset vector. At reset the processor Mask ROM will load the
860           first part of the romImage which in turn loads the rest the kernel
861           image to RAM using the MMCIF hardware block.
863 choice
864         prompt "Kernel command line"
865         optional
866         default CMDLINE_OVERWRITE
867         help
868           Setting this option allows the kernel command line arguments
869           to be set.
871 config CMDLINE_OVERWRITE
872         bool "Overwrite bootloader kernel arguments"
873         help
874           Given string will overwrite any arguments passed in by
875           a bootloader.
877 config CMDLINE_EXTEND
878         bool "Extend bootloader kernel arguments"
879         help
880           Given string will be concatenated with arguments passed in
881           by a bootloader.
883 endchoice
885 config CMDLINE
886         string "Kernel command line arguments string"
887         depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
888         default "console=ttySC1,115200"
890 endmenu
892 menu "Bus options"
894 config SUPERHYWAY
895         tristate "SuperHyway Bus support"
896         depends on CPU_SUBTYPE_SH4_202
898 config MAPLE
899         bool "Maple Bus support"
900         depends on SH_DREAMCAST
901         help
902          The Maple Bus is SEGA's serial communication bus for peripherals
903          on the Dreamcast. Without this bus support you won't be able to
904          get your Dreamcast keyboard etc to work, so most users
905          probably want to say 'Y' here, unless you are only using the
906          Dreamcast with a serial line terminal or a remote network
907          connection.
909 config PCI
910         bool "PCI support"
911         depends on SYS_SUPPORTS_PCI
912         select PCI_DOMAINS
913         select GENERIC_PCI_IOMAP
914         select NO_GENERIC_PCI_IOPORT_MAP
915         help
916           Find out whether you have a PCI motherboard. PCI is the name of a
917           bus system, i.e. the way the CPU talks to the other stuff inside
918           your box. If you have PCI, say Y, otherwise N.
920 config PCI_DOMAINS
921         bool
923 source "drivers/pci/pcie/Kconfig"
925 source "drivers/pci/Kconfig"
927 source "drivers/pcmcia/Kconfig"
929 source "drivers/pci/hotplug/Kconfig"
931 endmenu
933 menu "Executable file formats"
935 source "fs/Kconfig.binfmt"
937 endmenu
939 menu "Power management options (EXPERIMENTAL)"
941 source "kernel/power/Kconfig"
943 source "drivers/cpuidle/Kconfig"
945 endmenu
947 source "net/Kconfig"
949 source "drivers/Kconfig"
951 source "fs/Kconfig"
953 source "arch/sh/Kconfig.debug"
955 source "security/Kconfig"
957 source "crypto/Kconfig"
959 source "lib/Kconfig"