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