sh: seccomp support.
[safe/jmp/linux-2.6] / arch / sh / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux/SuperH Kernel Configuration"
7
8 config SUPERH
9         def_bool y
10         select EMBEDDED
11         select HAVE_CLK
12         select HAVE_IDE
13         select HAVE_OPROFILE
14         select HAVE_GENERIC_DMA_COHERENT
15         help
16           The SuperH is a RISC processor targeted for use in embedded systems
17           and consumer electronics; it was also used in the Sega Dreamcast
18           gaming console.  The SuperH port has a home page at
19           <http://www.linux-sh.org/>.
20
21 config SUPERH32
22         def_bool !SUPERH64
23
24 config SUPERH64
25         def_bool y if CPU_SH5
26
27 config ARCH_DEFCONFIG
28         string
29         default "arch/sh/configs/shx3_defconfig" if SUPERH32
30         default "arch/sh/configs/cayman_defconfig" if SUPERH64
31
32 config RWSEM_GENERIC_SPINLOCK
33         def_bool y
34
35 config RWSEM_XCHGADD_ALGORITHM
36         bool
37
38 config GENERIC_BUG
39         def_bool y
40         depends on BUG && SUPERH32
41
42 config GENERIC_FIND_NEXT_BIT
43         def_bool y
44
45 config GENERIC_HWEIGHT
46         def_bool y
47
48 config GENERIC_HARDIRQS
49         def_bool y
50
51 config GENERIC_IRQ_PROBE
52         def_bool y
53
54 config GENERIC_CALIBRATE_DELAY
55         def_bool y
56
57 config GENERIC_IOMAP
58         bool
59
60 config GENERIC_TIME
61         def_bool n
62
63 config GENERIC_CLOCKEVENTS
64         def_bool n
65
66 config SYS_SUPPORTS_PM
67         bool
68
69 config SYS_SUPPORTS_APM_EMULATION
70         bool
71         select SYS_SUPPORTS_PM
72
73 config SYS_SUPPORTS_SMP
74         bool
75
76 config SYS_SUPPORTS_NUMA
77         bool
78
79 config SYS_SUPPORTS_PCI
80         bool
81
82 config STACKTRACE_SUPPORT
83         def_bool y
84
85 config LOCKDEP_SUPPORT
86         def_bool y
87
88 config ARCH_HAS_ILOG2_U32
89         def_bool n
90
91 config ARCH_HAS_ILOG2_U64
92         def_bool n
93
94 config ARCH_NO_VIRT_TO_BUS
95         def_bool y
96
97 config ARCH_SUPPORTS_AOUT
98         def_bool y
99
100 config IO_TRAPPED
101         bool
102
103 source "init/Kconfig"
104
105 menu "System type"
106
107 #
108 # Processor families
109 #
110 config CPU_SH2
111         bool
112
113 config CPU_SH2A
114         bool
115         select CPU_SH2
116
117 config CPU_SH3
118         bool
119         select CPU_HAS_INTEVT
120         select CPU_HAS_SR_RB
121
122 config CPU_SH4
123         bool
124         select CPU_HAS_INTEVT
125         select CPU_HAS_SR_RB
126         select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
127         select CPU_HAS_FPU if !CPU_SH4AL_DSP
128
129 config CPU_SH4A
130         bool
131         select CPU_SH4
132
133 config CPU_SH4AL_DSP
134         bool
135         select CPU_SH4A
136         select CPU_HAS_DSP
137
138 config CPU_SH5
139         bool
140         select CPU_HAS_FPU
141
142 config CPU_SHX2
143         bool
144
145 config CPU_SHX3
146         bool
147
148 choice
149         prompt "Processor sub-type selection"
150
151 #
152 # Processor subtypes
153 #
154
155 # SH-2 Processor Support
156
157 config CPU_SUBTYPE_SH7619
158         bool "Support SH7619 processor"
159         select CPU_SH2
160
161 # SH-2A Processor Support
162
163 config CPU_SUBTYPE_SH7203
164         bool "Support SH7203 processor"
165         select CPU_SH2A
166         select CPU_HAS_FPU
167
168 config CPU_SUBTYPE_SH7206
169         bool "Support SH7206 processor"
170         select CPU_SH2A
171
172 config CPU_SUBTYPE_SH7263
173         bool "Support SH7263 processor"
174         select CPU_SH2A
175         select CPU_HAS_FPU
176
177 config CPU_SUBTYPE_MXG
178         bool "Support MX-G processor"
179         select CPU_SH2A
180         help
181           Select MX-G if running on an R8A03022BG part.
182
183 # SH-3 Processor Support
184
185 config CPU_SUBTYPE_SH7705
186         bool "Support SH7705 processor"
187         select CPU_SH3
188
189 config CPU_SUBTYPE_SH7706
190         bool "Support SH7706 processor"
191         select CPU_SH3
192         help
193           Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
194
195 config CPU_SUBTYPE_SH7707
196         bool "Support SH7707 processor"
197         select CPU_SH3
198         help
199           Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
200
201 config CPU_SUBTYPE_SH7708
202         bool "Support SH7708 processor"
203         select CPU_SH3
204         help
205           Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
206           if you have a 100 Mhz SH-3 HD6417708R CPU.
207
208 config CPU_SUBTYPE_SH7709
209         bool "Support SH7709 processor"
210         select CPU_SH3
211         help
212           Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
213
214 config CPU_SUBTYPE_SH7710
215         bool "Support SH7710 processor"
216         select CPU_SH3
217         select CPU_HAS_DSP
218         help
219           Select SH7710 if you have a SH3-DSP SH7710 CPU.
220
221 config CPU_SUBTYPE_SH7712
222         bool "Support SH7712 processor"
223         select CPU_SH3
224         select CPU_HAS_DSP
225         help
226           Select SH7712 if you have a SH3-DSP SH7712 CPU.
227
228 config CPU_SUBTYPE_SH7720
229         bool "Support SH7720 processor"
230         select CPU_SH3
231         select CPU_HAS_DSP
232         help
233           Select SH7720 if you have a SH3-DSP SH7720 CPU.
234
235 config CPU_SUBTYPE_SH7721
236         bool "Support SH7721 processor"
237         select CPU_SH3
238         select CPU_HAS_DSP
239         help
240           Select SH7721 if you have a SH3-DSP SH7721 CPU.
241
242 # SH-4 Processor Support
243
244 config CPU_SUBTYPE_SH7750
245         bool "Support SH7750 processor"
246         select CPU_SH4
247         help
248           Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
249
250 config CPU_SUBTYPE_SH7091
251         bool "Support SH7091 processor"
252         select CPU_SH4
253         help
254           Select SH7091 if you have an SH-4 based Sega device (such as
255           the Dreamcast, Naomi, and Naomi 2).
256
257 config CPU_SUBTYPE_SH7750R
258         bool "Support SH7750R processor"
259         select CPU_SH4
260
261 config CPU_SUBTYPE_SH7750S
262         bool "Support SH7750S processor"
263         select CPU_SH4
264
265 config CPU_SUBTYPE_SH7751
266         bool "Support SH7751 processor"
267         select CPU_SH4
268         help
269           Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
270           or if you have a HD6417751R CPU.
271
272 config CPU_SUBTYPE_SH7751R
273         bool "Support SH7751R processor"
274         select CPU_SH4
275
276 config CPU_SUBTYPE_SH7760
277         bool "Support SH7760 processor"
278         select CPU_SH4
279
280 config CPU_SUBTYPE_SH4_202
281         bool "Support SH4-202 processor"
282         select CPU_SH4
283
284 # SH-4A Processor Support
285
286 config CPU_SUBTYPE_SH7723
287         bool "Support SH7723 processor"
288         select CPU_SH4A
289         select CPU_SHX2
290         select ARCH_SPARSEMEM_ENABLE
291         help
292           Select SH7723 if you have an SH-MobileR2 CPU.
293
294 config CPU_SUBTYPE_SH7763
295         bool "Support SH7763 processor"
296         select CPU_SH4A
297         help
298           Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
299
300 config CPU_SUBTYPE_SH7770
301         bool "Support SH7770 processor"
302         select CPU_SH4A
303
304 config CPU_SUBTYPE_SH7780
305         bool "Support SH7780 processor"
306         select CPU_SH4A
307
308 config CPU_SUBTYPE_SH7785
309         bool "Support SH7785 processor"
310         select CPU_SH4A
311         select CPU_SHX2
312         select ARCH_SPARSEMEM_ENABLE
313         select SYS_SUPPORTS_NUMA
314
315 config CPU_SUBTYPE_SHX3
316         bool "Support SH-X3 processor"
317         select CPU_SH4A
318         select CPU_SHX3
319         select ARCH_SPARSEMEM_ENABLE
320         select SYS_SUPPORTS_NUMA
321         select SYS_SUPPORTS_SMP
322
323 # SH4AL-DSP Processor Support
324
325 config CPU_SUBTYPE_SH7343
326         bool "Support SH7343 processor"
327         select CPU_SH4AL_DSP
328
329 config CPU_SUBTYPE_SH7722
330         bool "Support SH7722 processor"
331         select CPU_SH4AL_DSP
332         select CPU_SHX2
333         select ARCH_SPARSEMEM_ENABLE
334         select SYS_SUPPORTS_NUMA
335
336 config CPU_SUBTYPE_SH7366
337         bool "Support SH7366 processor"
338         select CPU_SH4AL_DSP
339         select CPU_SHX2
340         select ARCH_SPARSEMEM_ENABLE
341         select SYS_SUPPORTS_NUMA
342
343 # SH-5 Processor Support
344
345 config CPU_SUBTYPE_SH5_101
346         bool "Support SH5-101 processor"
347         select CPU_SH5
348
349 config CPU_SUBTYPE_SH5_103
350         bool "Support SH5-103 processor"
351         select CPU_SH5
352
353 endchoice
354
355 source "arch/sh/mm/Kconfig"
356  
357 source "arch/sh/Kconfig.cpu"
358
359 source "arch/sh/boards/Kconfig"
360
361 menu "Timer and clock configuration"
362
363 config SH_TMU
364         def_bool y
365         prompt "TMU timer support"
366         depends on CPU_SH3 || CPU_SH4
367         select GENERIC_TIME
368         select GENERIC_CLOCKEVENTS
369         help
370           This enables the use of the TMU as the system timer.
371
372 config SH_CMT
373         def_bool y
374         prompt "CMT timer support"
375         depends on CPU_SH2 && !CPU_SUBTYPE_MXG
376         help
377           This enables the use of the CMT as the system timer.
378
379 config SH_MTU2
380         def_bool n
381         prompt "MTU2 timer support"
382         depends on CPU_SH2A
383         help
384           This enables the use of the MTU2 as the system timer.
385
386 config SH_TIMER_IRQ
387         int
388         default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
389                         CPU_SUBTYPE_SH7763
390         default "86" if CPU_SUBTYPE_SH7619
391         default "140" if CPU_SUBTYPE_SH7206
392         default "142" if CPU_SUBTYPE_SH7203
393         default "238" if CPU_SUBTYPE_MXG
394         default "16"
395
396 config SH_PCLK_FREQ
397         int "Peripheral clock frequency (in Hz)"
398         default "27000000" if CPU_SUBTYPE_SH7343
399         default "31250000" if CPU_SUBTYPE_SH7619
400         default "32000000" if CPU_SUBTYPE_SH7722
401         default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
402                               CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
403                               CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
404                               CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
405         default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
406         default "66000000" if CPU_SUBTYPE_SH4_202
407         default "50000000"
408         help
409           This option is used to specify the peripheral clock frequency.
410           This is necessary for determining the reference clock value on
411           platforms lacking an RTC.
412
413 config SH_CLK_MD
414         int "CPU Mode Pin Setting"
415         depends on CPU_SH2
416         default 6 if CPU_SUBTYPE_SH7206
417         default 5 if CPU_SUBTYPE_SH7619
418         default 0
419         help
420           MD2 - MD0 pin setting.
421
422 source "kernel/time/Kconfig"
423
424 endmenu
425
426 menu "CPU Frequency scaling"
427
428 source "drivers/cpufreq/Kconfig"
429
430 config SH_CPU_FREQ
431         tristate "SuperH CPU Frequency driver"
432         depends on CPU_FREQ
433         select CPU_FREQ_TABLE
434         help
435           This adds the cpufreq driver for SuperH. At present, only
436           the SH-4 is supported.
437
438           For details, take a look at <file:Documentation/cpu-freq>.
439
440           If unsure, say N.
441
442 endmenu
443
444 source "arch/sh/drivers/Kconfig"
445
446 endmenu
447
448 config ISA_DMA_API
449         bool
450
451 menu "Kernel features"
452
453 source kernel/Kconfig.hz
454
455 config KEXEC
456         bool "kexec system call (EXPERIMENTAL)"
457         depends on SUPERH32 && EXPERIMENTAL
458         help
459           kexec is a system call that implements the ability to shutdown your
460           current kernel, and to start another kernel.  It is like a reboot
461           but it is independent of the system firmware.  And like a reboot
462           you can start any kernel with it, not just Linux.
463
464           The name comes from the similarity to the exec system call.
465
466           It is an ongoing process to be certain the hardware in a machine
467           is properly shutdown, so do not be surprised if this code does not
468           initially work for you.  It may help to enable device hotplugging
469           support.  As of this writing the exact hardware interface is
470           strongly in flux, so no good recommendation can be made.
471
472 config CRASH_DUMP
473         bool "kernel crash dumps (EXPERIMENTAL)"
474         depends on SUPERH32 && EXPERIMENTAL
475         help
476           Generate crash dump after being started by kexec.
477           This should be normally only set in special crash dump kernels
478           which are loaded in the main kernel with kexec-tools into
479           a specially reserved region and then later executed after
480           a crash by kdump/kexec. The crash dump kernel must be compiled
481           to a memory address not used by the main kernel using
482           MEMORY_START.
483
484           For more details see Documentation/kdump/kdump.txt
485
486 config SECCOMP
487         bool "Enable seccomp to safely compute untrusted bytecode"
488         depends on PROC_FS
489         default y
490         help
491           This kernel feature is useful for number crunching applications
492           that may need to compute untrusted bytecode during their
493           execution. By using pipes or other transports made available to
494           the process as file descriptors supporting the read/write
495           syscalls, it's possible to isolate those applications in
496           their own address space using seccomp. Once seccomp is
497           enabled via prctl, it cannot be disabled and the task is only
498           allowed to execute a few safe syscalls defined by each seccomp
499           mode.
500
501           If unsure, say N.
502
503 config SMP
504         bool "Symmetric multi-processing support"
505         depends on SYS_SUPPORTS_SMP
506         select USE_GENERIC_SMP_HELPERS
507         ---help---
508           This enables support for systems with more than one CPU. If you have
509           a system with only one CPU, like most personal computers, say N. If
510           you have a system with more than one CPU, say Y.
511
512           If you say N here, the kernel will run on single and multiprocessor
513           machines, but will use only one CPU of a multiprocessor machine. If
514           you say Y here, the kernel will run on many, but not all,
515           singleprocessor machines. On a singleprocessor machine, the kernel
516           will run faster if you say N here.
517
518           People using multiprocessor machines who say Y here should also say
519           Y to "Enhanced Real Time Clock Support", below.
520
521           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
522           available at <http://www.tldp.org/docs.html#howto>.
523
524           If you don't know what to do here, say N.
525
526 config NR_CPUS
527         int "Maximum number of CPUs (2-32)"
528         range 2 32
529         depends on SMP
530         default "4" if CPU_SHX3
531         default "2"
532         help
533           This allows you to specify the maximum number of CPUs which this
534           kernel will support.  The maximum supported value is 32 and the
535           minimum value which makes sense is 2.
536
537           This is purely to save memory - each supported CPU adds
538           approximately eight kilobytes to the kernel image.
539
540 source "kernel/Kconfig.preempt"
541
542 config GUSA
543         def_bool y
544         depends on !SMP && SUPERH32
545         help
546           This enables support for gUSA (general UserSpace Atomicity).
547           This is the default implementation for both UP and non-ll/sc
548           CPUs, and is used by the libc, amongst others.
549
550           For additional information, design information can be found 
551           in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
552
553           This should only be disabled for special cases where alternate
554           atomicity implementations exist.
555
556 config GUSA_RB
557         bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
558         depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
559         help
560           Enabling this option will allow the kernel to implement some
561           atomic operations using a software implemention of load-locked/
562           store-conditional (LLSC). On machines which do not have hardware
563           LLSC, this should be more efficient than the other alternative of
564           disabling insterrupts around the atomic sequence.
565
566 endmenu
567
568 menu "Boot options"
569
570 config ZERO_PAGE_OFFSET
571         hex "Zero page offset"
572         default "0x00004000" if SH_SH03
573         default "0x00010000" if PAGE_SIZE_64KB
574         default "0x00002000" if PAGE_SIZE_8KB
575         default "0x00001000"
576         help
577           This sets the default offset of zero page.
578
579 config BOOT_LINK_OFFSET
580         hex "Link address offset for booting"
581         default "0x00800000"
582         help
583           This option allows you to set the link address offset of the zImage.
584           This can be useful if you are on a board which has a small amount of
585           memory.
586
587 config UBC_WAKEUP
588         bool "Wakeup UBC on startup"
589         depends on CPU_SH4 && !CPU_SH4A
590         help
591           Selecting this option will wakeup the User Break Controller (UBC) on
592           startup. Although the UBC is left in an awake state when the processor
593           comes up, some boot loaders misbehave by putting the UBC to sleep in a
594           power saving state, which causes issues with things like ptrace().
595
596           If unsure, say N.
597
598 config CMDLINE_BOOL
599         bool "Default bootloader kernel arguments"
600
601 config CMDLINE
602         string "Initial kernel command string"
603         depends on CMDLINE_BOOL
604         default "console=ttySC1,115200"
605
606 endmenu
607
608 menu "Bus options"
609
610 # Even on SuperH devices which don't have an ISA bus,
611 # this variable helps the PCMCIA modules handle
612 # IRQ requesting properly -- Greg Banks.
613 #
614 # Though we're generally not interested in it when
615 # we're not using PCMCIA, so we make it dependent on
616 # PCMCIA outright. -- PFM.
617 config ISA
618         def_bool y
619         depends on PCMCIA && HD6446X_SERIES
620         help
621           Find out whether you have ISA slots on your motherboard.  ISA is the
622           name of a bus system, i.e. the way the CPU talks to the other stuff
623           inside your box.  Other bus systems are PCI, EISA, MicroChannel
624           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
625           newer boards don't support it.  If you have ISA, say Y, otherwise N.
626
627 config EISA
628         bool
629         ---help---
630           The Extended Industry Standard Architecture (EISA) bus was
631           developed as an open alternative to the IBM MicroChannel bus.
632
633           The EISA bus provided some of the features of the IBM MicroChannel
634           bus while maintaining backward compatibility with cards made for
635           the older ISA bus.  The EISA bus saw limited use between 1988 and
636           1995 when it was made obsolete by the PCI bus.
637
638           Say Y here if you are building a kernel for an EISA-based machine.
639
640           Otherwise, say N.
641
642 config MCA
643         bool
644         help
645           MicroChannel Architecture is found in some IBM PS/2 machines and
646           laptops.  It is a bus system similar to PCI or ISA. See
647           <file:Documentation/mca.txt> (and especially the web page given
648           there) before attempting to build an MCA bus kernel.
649
650 config SBUS
651         bool
652
653 config SUPERHYWAY
654         tristate "SuperHyway Bus support"
655         depends on CPU_SUBTYPE_SH4_202
656
657 config MAPLE
658        bool "Maple Bus support"
659        depends on SH_DREAMCAST
660        help
661          The Maple Bus is SEGA's serial communication bus for peripherals
662          on the Dreamcast. Without this bus support you won't be able to
663          get your Dreamcast keyboard etc to work, so most users
664          probably want to say 'Y' here, unless you are only using the
665          Dreamcast with a serial line terminal or a remote network
666          connection.
667
668 config CF_ENABLER
669         bool "Compact Flash Enabler support"
670         depends on SOLUTION_ENGINE || SH_SH03
671         ---help---
672           Compact Flash is a small, removable mass storage device introduced
673           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
674           compile in support for Compact Flash devices directly connected to
675           a SuperH processor.  A Compact Flash FAQ is available at
676           <http://www.compactflash.org/faqs/faq.htm>.
677
678           If your board has "Directly Connected" CompactFlash at area 5 or 6,
679           you may want to enable this option.  Then, you can use CF as
680           primary IDE drive (only tested for SanDisk).
681
682           If in doubt, select 'N'.
683
684 choice
685         prompt "Compact Flash Connection Area"
686         depends on CF_ENABLER
687         default CF_AREA6
688
689 config CF_AREA5
690         bool "Area5"
691         help
692           If your board has "Directly Connected" CompactFlash, You should
693           select the area where your CF is connected to.
694
695           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
696           - "Area6" if it is connected to Area 6 (0x18000000)
697
698           "Area6" will work for most boards.
699
700 config CF_AREA6
701         bool "Area6"
702
703 endchoice
704
705 config CF_BASE_ADDR
706         hex
707         depends on CF_ENABLER
708         default "0xb8000000" if CF_AREA6
709         default "0xb4000000" if CF_AREA5
710
711 source "arch/sh/drivers/pci/Kconfig"
712
713 source "drivers/pci/Kconfig"
714
715 source "drivers/pcmcia/Kconfig"
716
717 source "drivers/pci/hotplug/Kconfig"
718
719 endmenu
720
721 menu "Executable file formats"
722
723 source "fs/Kconfig.binfmt"
724
725 endmenu
726
727 menu "Power management options (EXPERIMENTAL)"
728 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
729
730 config ARCH_SUSPEND_POSSIBLE
731         def_bool y
732         depends on !SMP
733
734 source kernel/power/Kconfig
735
736 endmenu
737
738 source "net/Kconfig"
739
740 source "drivers/Kconfig"
741
742 source "fs/Kconfig"
743
744 source "arch/sh/Kconfig.debug"
745
746 source "security/Kconfig"
747
748 source "crypto/Kconfig"
749
750 source "lib/Kconfig"