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