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