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