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