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