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