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