sh: kprobes: Use trapa #0x3a for breakpoint trap.
[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         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         help
500           This kernel feature is useful for number crunching applications
501           that may need to compute untrusted bytecode during their
502           execution. By using pipes or other transports made available to
503           the process as file descriptors supporting the read/write
504           syscalls, it's possible to isolate those applications in
505           their own address space using seccomp. Once seccomp is
506           enabled via prctl, it cannot be disabled and the task is only
507           allowed to execute a few safe syscalls defined by each seccomp
508           mode.
509
510           If unsure, say N.
511
512 config SMP
513         bool "Symmetric multi-processing support"
514         depends on SYS_SUPPORTS_SMP
515         select USE_GENERIC_SMP_HELPERS
516         ---help---
517           This enables support for systems with more than one CPU. If you have
518           a system with only one CPU, like most personal computers, say N. If
519           you have a system with more than one CPU, say Y.
520
521           If you say N here, the kernel will run on single and multiprocessor
522           machines, but will use only one CPU of a multiprocessor machine. If
523           you say Y here, the kernel will run on many, but not all,
524           singleprocessor machines. On a singleprocessor machine, the kernel
525           will run faster if you say N here.
526
527           People using multiprocessor machines who say Y here should also say
528           Y to "Enhanced Real Time Clock Support", below.
529
530           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
531           available at <http://www.tldp.org/docs.html#howto>.
532
533           If you don't know what to do here, say N.
534
535 config NR_CPUS
536         int "Maximum number of CPUs (2-32)"
537         range 2 32
538         depends on SMP
539         default "4" if CPU_SHX3
540         default "2"
541         help
542           This allows you to specify the maximum number of CPUs which this
543           kernel will support.  The maximum supported value is 32 and the
544           minimum value which makes sense is 2.
545
546           This is purely to save memory - each supported CPU adds
547           approximately eight kilobytes to the kernel image.
548
549 source "kernel/Kconfig.preempt"
550
551 config GUSA
552         def_bool y
553         depends on !SMP && SUPERH32
554         help
555           This enables support for gUSA (general UserSpace Atomicity).
556           This is the default implementation for both UP and non-ll/sc
557           CPUs, and is used by the libc, amongst others.
558
559           For additional information, design information can be found 
560           in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
561
562           This should only be disabled for special cases where alternate
563           atomicity implementations exist.
564
565 config GUSA_RB
566         bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
567         depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
568         help
569           Enabling this option will allow the kernel to implement some
570           atomic operations using a software implemention of load-locked/
571           store-conditional (LLSC). On machines which do not have hardware
572           LLSC, this should be more efficient than the other alternative of
573           disabling insterrupts around the atomic sequence.
574
575 endmenu
576
577 menu "Boot options"
578
579 config ZERO_PAGE_OFFSET
580         hex "Zero page offset"
581         default "0x00004000" if SH_SH03
582         default "0x00010000" if PAGE_SIZE_64KB
583         default "0x00002000" if PAGE_SIZE_8KB
584         default "0x00001000"
585         help
586           This sets the default offset of zero page.
587
588 config BOOT_LINK_OFFSET
589         hex "Link address offset for booting"
590         default "0x00800000"
591         help
592           This option allows you to set the link address offset of the zImage.
593           This can be useful if you are on a board which has a small amount of
594           memory.
595
596 config UBC_WAKEUP
597         bool "Wakeup UBC on startup"
598         depends on CPU_SH4 && !CPU_SH4A
599         help
600           Selecting this option will wakeup the User Break Controller (UBC) on
601           startup. Although the UBC is left in an awake state when the processor
602           comes up, some boot loaders misbehave by putting the UBC to sleep in a
603           power saving state, which causes issues with things like ptrace().
604
605           If unsure, say N.
606
607 config CMDLINE_BOOL
608         bool "Default bootloader kernel arguments"
609
610 config CMDLINE
611         string "Initial kernel command string"
612         depends on CMDLINE_BOOL
613         default "console=ttySC1,115200"
614
615 endmenu
616
617 menu "Bus options"
618
619 # Even on SuperH devices which don't have an ISA bus,
620 # this variable helps the PCMCIA modules handle
621 # IRQ requesting properly -- Greg Banks.
622 #
623 # Though we're generally not interested in it when
624 # we're not using PCMCIA, so we make it dependent on
625 # PCMCIA outright. -- PFM.
626 config ISA
627         def_bool y
628         depends on PCMCIA && HD6446X_SERIES
629         help
630           Find out whether you have ISA slots on your motherboard.  ISA is the
631           name of a bus system, i.e. the way the CPU talks to the other stuff
632           inside your box.  Other bus systems are PCI, EISA, MicroChannel
633           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
634           newer boards don't support it.  If you have ISA, say Y, otherwise N.
635
636 config EISA
637         bool
638         ---help---
639           The Extended Industry Standard Architecture (EISA) bus was
640           developed as an open alternative to the IBM MicroChannel bus.
641
642           The EISA bus provided some of the features of the IBM MicroChannel
643           bus while maintaining backward compatibility with cards made for
644           the older ISA bus.  The EISA bus saw limited use between 1988 and
645           1995 when it was made obsolete by the PCI bus.
646
647           Say Y here if you are building a kernel for an EISA-based machine.
648
649           Otherwise, say N.
650
651 config MCA
652         bool
653         help
654           MicroChannel Architecture is found in some IBM PS/2 machines and
655           laptops.  It is a bus system similar to PCI or ISA. See
656           <file:Documentation/mca.txt> (and especially the web page given
657           there) before attempting to build an MCA bus kernel.
658
659 config SBUS
660         bool
661
662 config SUPERHYWAY
663         tristate "SuperHyway Bus support"
664         depends on CPU_SUBTYPE_SH4_202
665
666 config MAPLE
667        bool "Maple Bus support"
668        depends on SH_DREAMCAST
669        help
670          The Maple Bus is SEGA's serial communication bus for peripherals
671          on the Dreamcast. Without this bus support you won't be able to
672          get your Dreamcast keyboard etc to work, so most users
673          probably want to say 'Y' here, unless you are only using the
674          Dreamcast with a serial line terminal or a remote network
675          connection.
676
677 config CF_ENABLER
678         bool "Compact Flash Enabler support"
679         depends on SOLUTION_ENGINE || SH_SH03
680         ---help---
681           Compact Flash is a small, removable mass storage device introduced
682           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
683           compile in support for Compact Flash devices directly connected to
684           a SuperH processor.  A Compact Flash FAQ is available at
685           <http://www.compactflash.org/faqs/faq.htm>.
686
687           If your board has "Directly Connected" CompactFlash at area 5 or 6,
688           you may want to enable this option.  Then, you can use CF as
689           primary IDE drive (only tested for SanDisk).
690
691           If in doubt, select 'N'.
692
693 choice
694         prompt "Compact Flash Connection Area"
695         depends on CF_ENABLER
696         default CF_AREA6
697
698 config CF_AREA5
699         bool "Area5"
700         help
701           If your board has "Directly Connected" CompactFlash, You should
702           select the area where your CF is connected to.
703
704           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
705           - "Area6" if it is connected to Area 6 (0x18000000)
706
707           "Area6" will work for most boards.
708
709 config CF_AREA6
710         bool "Area6"
711
712 endchoice
713
714 config CF_BASE_ADDR
715         hex
716         depends on CF_ENABLER
717         default "0xb8000000" if CF_AREA6
718         default "0xb4000000" if CF_AREA5
719
720 source "arch/sh/drivers/pci/Kconfig"
721
722 source "drivers/pci/Kconfig"
723
724 source "drivers/pcmcia/Kconfig"
725
726 source "drivers/pci/hotplug/Kconfig"
727
728 endmenu
729
730 menu "Executable file formats"
731
732 source "fs/Kconfig.binfmt"
733
734 endmenu
735
736 menu "Power management options (EXPERIMENTAL)"
737 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
738
739 config ARCH_SUSPEND_POSSIBLE
740         def_bool y
741         depends on !SMP
742
743 source kernel/power/Kconfig
744
745 endmenu
746
747 source "net/Kconfig"
748
749 source "drivers/Kconfig"
750
751 source "fs/Kconfig"
752
753 source "arch/sh/Kconfig.debug"
754
755 source "security/Kconfig"
756
757 source "crypto/Kconfig"
758
759 source "lib/Kconfig"