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