2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
12 select HAVE_IDE if HAS_IOPORT
15 select HAVE_GENERIC_DMA_COHERENT
16 select HAVE_ARCH_TRACEHOOK
17 select HAVE_DMA_API_DEBUG
20 select HAVE_PERF_EVENTS
21 select PERF_USE_VMALLOC
22 select HAVE_KERNEL_GZIP
23 select HAVE_KERNEL_BZIP2
24 select HAVE_KERNEL_LZMA
25 select HAVE_KERNEL_LZO
26 select HAVE_SYSCALL_TRACEPOINTS
27 select HAVE_REGS_AND_STACK_ACCESS_API
28 select HAVE_GENERIC_HARDIRQS
29 select HAVE_SPARSE_IRQ
31 select GENERIC_ATOMIC64
33 The SuperH is a RISC processor targeted for use in embedded systems
34 and consumer electronics; it was also used in the Sega Dreamcast
35 gaming console. The SuperH port has a home page at
36 <http://www.linux-sh.org/>.
41 select HAVE_KRETPROBES
42 select HAVE_IOREMAP_PROT if MMU && !X2TLB
43 select HAVE_FUNCTION_TRACER
44 select HAVE_FTRACE_MCOUNT_RECORD
45 select HAVE_DYNAMIC_FTRACE
46 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
47 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
48 select HAVE_FUNCTION_GRAPH_TRACER
50 select HAVE_HW_BREAKPOINT
51 select HAVE_MIXED_BREAKPOINTS_REGS
53 select ARCH_HIBERNATION_POSSIBLE if MMU
57 def_bool ARCH = "sh64"
61 default "arch/sh/configs/shx3_defconfig" if SUPERH32
62 default "arch/sh/configs/cayman_defconfig" if SUPERH64
64 config RWSEM_GENERIC_SPINLOCK
67 config RWSEM_XCHGADD_ALGORITHM
72 depends on BUG && SUPERH32
78 config GENERIC_FIND_NEXT_BIT
81 config GENERIC_HWEIGHT
90 config GENERIC_CALIBRATE_DELAY
96 config GENERIC_CLOCKEVENTS
99 config GENERIC_CLOCKEVENTS_BROADCAST
102 config GENERIC_CMOS_UPDATE
104 depends on SH_SH03 || SH_DREAMCAST
106 config GENERIC_LOCKBREAK
108 depends on SMP && PREEMPT
110 config SYS_SUPPORTS_PM
114 config ARCH_SUSPEND_POSSIBLE
117 config ARCH_HIBERNATION_POSSIBLE
120 config SYS_SUPPORTS_APM_EMULATION
122 select ARCH_SUSPEND_POSSIBLE
124 config SYS_SUPPORTS_HUGETLBFS
127 config SYS_SUPPORTS_SMP
130 config SYS_SUPPORTS_NUMA
133 config SYS_SUPPORTS_PCI
136 config SYS_SUPPORTS_CMT
139 config SYS_SUPPORTS_MTU2
142 config SYS_SUPPORTS_TMU
145 config STACKTRACE_SUPPORT
148 config LOCKDEP_SUPPORT
151 config HAVE_LATENCYTOP_SUPPORT
154 config ARCH_HAS_ILOG2_U32
157 config ARCH_HAS_ILOG2_U64
160 config ARCH_NO_VIRT_TO_BUS
163 config ARCH_HAS_DEFAULT_IDLE
166 config ARCH_HAS_CPU_IDLE_WAIT
178 config DMA_NONCOHERENT
179 def_bool !DMA_COHERENT
181 config NEED_DMA_MAP_STATE
182 def_bool DMA_NONCOHERENT
184 config NEED_SG_DMA_LENGTH
187 source "init/Kconfig"
189 source "kernel/Kconfig.freezer"
205 select CPU_HAS_INTEVT
207 select SYS_SUPPORTS_TMU
211 select CPU_HAS_INTEVT
213 select CPU_HAS_FPU if !CPU_SH4AL_DSP
214 select SYS_SUPPORTS_TMU
215 select SYS_SUPPORTS_HUGETLBFS if MMU
229 select SYS_SUPPORTS_TMU
230 select SYS_SUPPORTS_HUGETLBFS if MMU
238 select SYS_SUPPORTS_SMP
239 select SYS_SUPPORTS_NUMA
243 select ARCH_SUSPEND_POSSIBLE
248 depends on CPU_SH4 || CPU_SH4A
255 prompt "Processor sub-type selection"
261 # SH-2 Processor Support
263 config CPU_SUBTYPE_SH7619
264 bool "Support SH7619 processor"
266 select SYS_SUPPORTS_CMT
268 # SH-2A Processor Support
270 config CPU_SUBTYPE_SH7201
271 bool "Support SH7201 processor"
274 select SYS_SUPPORTS_MTU2
276 config CPU_SUBTYPE_SH7203
277 bool "Support SH7203 processor"
280 select SYS_SUPPORTS_CMT
281 select SYS_SUPPORTS_MTU2
283 config CPU_SUBTYPE_SH7206
284 bool "Support SH7206 processor"
286 select SYS_SUPPORTS_CMT
287 select SYS_SUPPORTS_MTU2
289 config CPU_SUBTYPE_SH7263
290 bool "Support SH7263 processor"
293 select SYS_SUPPORTS_CMT
294 select SYS_SUPPORTS_MTU2
296 config CPU_SUBTYPE_MXG
297 bool "Support MX-G processor"
299 select SYS_SUPPORTS_MTU2
301 Select MX-G if running on an R8A03022BG part.
303 # SH-3 Processor Support
305 config CPU_SUBTYPE_SH7705
306 bool "Support SH7705 processor"
309 config CPU_SUBTYPE_SH7706
310 bool "Support SH7706 processor"
313 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
315 config CPU_SUBTYPE_SH7707
316 bool "Support SH7707 processor"
319 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
321 config CPU_SUBTYPE_SH7708
322 bool "Support SH7708 processor"
325 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
326 if you have a 100 Mhz SH-3 HD6417708R CPU.
328 config CPU_SUBTYPE_SH7709
329 bool "Support SH7709 processor"
332 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
334 config CPU_SUBTYPE_SH7710
335 bool "Support SH7710 processor"
339 Select SH7710 if you have a SH3-DSP SH7710 CPU.
341 config CPU_SUBTYPE_SH7712
342 bool "Support SH7712 processor"
346 Select SH7712 if you have a SH3-DSP SH7712 CPU.
348 config CPU_SUBTYPE_SH7720
349 bool "Support SH7720 processor"
352 select SYS_SUPPORTS_CMT
354 Select SH7720 if you have a SH3-DSP SH7720 CPU.
356 config CPU_SUBTYPE_SH7721
357 bool "Support SH7721 processor"
360 select SYS_SUPPORTS_CMT
362 Select SH7721 if you have a SH3-DSP SH7721 CPU.
364 # SH-4 Processor Support
366 config CPU_SUBTYPE_SH7750
367 bool "Support SH7750 processor"
370 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
372 config CPU_SUBTYPE_SH7091
373 bool "Support SH7091 processor"
376 Select SH7091 if you have an SH-4 based Sega device (such as
377 the Dreamcast, Naomi, and Naomi 2).
379 config CPU_SUBTYPE_SH7750R
380 bool "Support SH7750R processor"
383 config CPU_SUBTYPE_SH7750S
384 bool "Support SH7750S processor"
387 config CPU_SUBTYPE_SH7751
388 bool "Support SH7751 processor"
391 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
392 or if you have a HD6417751R CPU.
394 config CPU_SUBTYPE_SH7751R
395 bool "Support SH7751R processor"
398 config CPU_SUBTYPE_SH7760
399 bool "Support SH7760 processor"
402 config CPU_SUBTYPE_SH4_202
403 bool "Support SH4-202 processor"
406 # SH-4A Processor Support
408 config CPU_SUBTYPE_SH7723
409 bool "Support SH7723 processor"
413 select ARCH_SPARSEMEM_ENABLE
414 select SYS_SUPPORTS_CMT
416 Select SH7723 if you have an SH-MobileR2 CPU.
418 config CPU_SUBTYPE_SH7724
419 bool "Support SH7724 processor"
423 select ARCH_SPARSEMEM_ENABLE
424 select SYS_SUPPORTS_CMT
426 Select SH7724 if you have an SH-MobileR2R CPU.
428 config CPU_SUBTYPE_SH7757
429 bool "Support SH7757 processor"
433 Select SH7757 if you have a SH4A SH7757 CPU.
435 config CPU_SUBTYPE_SH7763
436 bool "Support SH7763 processor"
439 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
441 config CPU_SUBTYPE_SH7770
442 bool "Support SH7770 processor"
445 config CPU_SUBTYPE_SH7780
446 bool "Support SH7780 processor"
449 config CPU_SUBTYPE_SH7785
450 bool "Support SH7785 processor"
453 select ARCH_SPARSEMEM_ENABLE
454 select SYS_SUPPORTS_NUMA
456 config CPU_SUBTYPE_SH7786
457 bool "Support SH7786 processor"
460 select CPU_HAS_PTEAEX
461 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
463 config CPU_SUBTYPE_SHX3
464 bool "Support SH-X3 processor"
467 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
468 select ARCH_REQUIRE_GPIOLIB
470 # SH4AL-DSP Processor Support
472 config CPU_SUBTYPE_SH7343
473 bool "Support SH7343 processor"
476 select SYS_SUPPORTS_CMT
478 config CPU_SUBTYPE_SH7722
479 bool "Support SH7722 processor"
483 select ARCH_SPARSEMEM_ENABLE
484 select SYS_SUPPORTS_NUMA
485 select SYS_SUPPORTS_CMT
487 config CPU_SUBTYPE_SH7366
488 bool "Support SH7366 processor"
492 select ARCH_SPARSEMEM_ENABLE
493 select SYS_SUPPORTS_NUMA
494 select SYS_SUPPORTS_CMT
503 prompt "Processor sub-type selection"
505 # SH-5 Processor Support
507 config CPU_SUBTYPE_SH5_101
508 bool "Support SH5-101 processor"
511 config CPU_SUBTYPE_SH5_103
512 bool "Support SH5-103 processor"
519 source "arch/sh/mm/Kconfig"
521 source "arch/sh/Kconfig.cpu"
523 source "arch/sh/boards/Kconfig"
525 menu "Timer and clock configuration"
528 bool "TMU timer driver"
529 depends on SYS_SUPPORTS_TMU
532 This enables the build of the TMU timer driver.
535 bool "CMT timer driver"
536 depends on SYS_SUPPORTS_CMT
539 This enables build of the CMT timer driver.
542 bool "MTU2 timer driver"
543 depends on SYS_SUPPORTS_MTU2
546 This enables build of the MTU2 timer driver.
549 int "Peripheral clock frequency (in Hz)"
550 depends on SH_CLK_CPG_LEGACY
551 default "31250000" if CPU_SUBTYPE_SH7619
552 default "33333333" if CPU_SUBTYPE_SH7770 || \
553 CPU_SUBTYPE_SH7760 || \
554 CPU_SUBTYPE_SH7705 || \
555 CPU_SUBTYPE_SH7203 || \
556 CPU_SUBTYPE_SH7206 || \
557 CPU_SUBTYPE_SH7263 || \
559 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
560 default "66000000" if CPU_SUBTYPE_SH4_202
563 This option is used to specify the peripheral clock frequency.
564 This is necessary for determining the reference clock value on
565 platforms lacking an RTC.
570 config SH_CLK_CPG_LEGACY
571 depends on SH_CLK_CPG
572 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
573 !CPU_SHX3 && !CPU_SUBTYPE_SH7757
576 int "CPU Mode Pin Setting"
578 default 6 if CPU_SUBTYPE_SH7206
579 default 5 if CPU_SUBTYPE_SH7619
582 MD2 - MD0 pin setting.
584 source "kernel/time/Kconfig"
588 menu "CPU Frequency scaling"
590 source "drivers/cpufreq/Kconfig"
593 tristate "SuperH CPU Frequency driver"
595 select CPU_FREQ_TABLE
597 This adds the cpufreq driver for SuperH. Any CPU that supports
598 clock rate rounding through the clock framework can use this
599 driver. While it will make the kernel slightly larger, this is
600 harmless for CPUs that don't support rate rounding. The driver
601 will also generate a notice in the boot log before disabling
602 itself if the CPU in question is not capable of rate rounding.
604 For details, take a look at <file:Documentation/cpu-freq>.
610 source "arch/sh/drivers/Kconfig"
614 menu "Kernel features"
616 source kernel/Kconfig.hz
619 bool "kexec system call (EXPERIMENTAL)"
620 depends on SUPERH32 && EXPERIMENTAL && MMU
622 kexec is a system call that implements the ability to shutdown your
623 current kernel, and to start another kernel. It is like a reboot
624 but it is independent of the system firmware. And like a reboot
625 you can start any kernel with it, not just Linux.
627 The name comes from the similarity to the exec system call.
629 It is an ongoing process to be certain the hardware in a machine
630 is properly shutdown, so do not be surprised if this code does not
631 initially work for you. It may help to enable device hotplugging
632 support. As of this writing the exact hardware interface is
633 strongly in flux, so no good recommendation can be made.
636 bool "kernel crash dumps (EXPERIMENTAL)"
637 depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
639 Generate crash dump after being started by kexec.
640 This should be normally only set in special crash dump kernels
641 which are loaded in the main kernel with kexec-tools into
642 a specially reserved region and then later executed after
643 a crash by kdump/kexec. The crash dump kernel must be compiled
644 to a memory address not used by the main kernel using
647 For more details see Documentation/kdump/kdump.txt
650 bool "kexec jump (EXPERIMENTAL)"
651 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
653 Jump between original kernel and kexeced kernel and invoke
657 bool "Enable seccomp to safely compute untrusted bytecode"
660 This kernel feature is useful for number crunching applications
661 that may need to compute untrusted bytecode during their
662 execution. By using pipes or other transports made available to
663 the process as file descriptors supporting the read/write
664 syscalls, it's possible to isolate those applications in
665 their own address space using seccomp. Once seccomp is
666 enabled via prctl, it cannot be disabled and the task is only
667 allowed to execute a few safe syscalls defined by each seccomp
673 bool "Symmetric multi-processing support"
674 depends on SYS_SUPPORTS_SMP
675 select USE_GENERIC_SMP_HELPERS
677 This enables support for systems with more than one CPU. If you have
678 a system with only one CPU, like most personal computers, say N. If
679 you have a system with more than one CPU, say Y.
681 If you say N here, the kernel will run on single and multiprocessor
682 machines, but will use only one CPU of a multiprocessor machine. If
683 you say Y here, the kernel will run on many, but not all,
684 singleprocessor machines. On a singleprocessor machine, the kernel
685 will run faster if you say N here.
687 People using multiprocessor machines who say Y here should also say
688 Y to "Enhanced Real Time Clock Support", below.
690 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
691 available at <http://www.tldp.org/docs.html#howto>.
693 If you don't know what to do here, say N.
696 int "Maximum number of CPUs (2-32)"
699 default "4" if CPU_SUBTYPE_SHX3
702 This allows you to specify the maximum number of CPUs which this
703 kernel will support. The maximum supported value is 32 and the
704 minimum value which makes sense is 2.
706 This is purely to save memory - each supported CPU adds
707 approximately eight kilobytes to the kernel image.
710 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
711 depends on SMP && HOTPLUG && EXPERIMENTAL
713 Say Y here to experiment with turning CPUs off and on. CPUs
714 can be controlled through /sys/devices/system/cpu.
716 source "kernel/Kconfig.preempt"
720 depends on !SMP && SUPERH32
722 This enables support for gUSA (general UserSpace Atomicity).
723 This is the default implementation for both UP and non-ll/sc
724 CPUs, and is used by the libc, amongst others.
726 For additional information, design information can be found
727 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
729 This should only be disabled for special cases where alternate
730 atomicity implementations exist.
733 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
734 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
736 Enabling this option will allow the kernel to implement some
737 atomic operations using a software implementation of load-locked/
738 store-conditional (LLSC). On machines which do not have hardware
739 LLSC, this should be more efficient than the other alternative of
740 disabling interrupts around the atomic sequence.
742 config HW_PERF_EVENTS
743 bool "Enable hardware performance counter support for perf events"
744 depends on PERF_EVENTS && CPU_HAS_PMU
747 Enable hardware performance counter support for perf events. If
748 disabled, perf events will use software events only.
750 source "drivers/sh/Kconfig"
756 config ZERO_PAGE_OFFSET
758 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
759 SH_7751_SOLUTION_ENGINE
760 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
761 default "0x00002000" if PAGE_SIZE_8KB
764 This sets the default offset of zero page.
766 config BOOT_LINK_OFFSET
768 default "0x00210000" if SH_SHMIN
769 default "0x00400000" if SH_CAYMAN
770 default "0x00810000" if SH_7780_SOLUTION_ENGINE
771 default "0x009e0000" if SH_TITAN
772 default "0x01800000" if SH_SDK7780
773 default "0x02000000" if SH_EDOSK7760
776 This option allows you to set the link address offset of the zImage.
777 This can be useful if you are on a board which has a small amount of
782 default "0x00001000" if PAGE_SIZE_4KB
783 default "0x00002000" if PAGE_SIZE_8KB
784 default "0x00004000" if PAGE_SIZE_16KB
785 default "0x00010000" if PAGE_SIZE_64KB
788 config ROMIMAGE_MMCIF
789 bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
790 depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
792 Say Y here to include experimental MMCIF loading code in
793 romImage. With this enabled it is possible to write the romImage
794 kernel image to an MMC card and boot the kernel straight from
795 the reset vector. At reset the processor Mask ROM will load the
796 first part of the romImage which in turn loads the rest the kernel
797 image to RAM using the MMCIF hardware block.
800 prompt "Kernel command line"
802 default CMDLINE_OVERWRITE
804 Setting this option allows the kernel command line arguments
807 config CMDLINE_OVERWRITE
808 bool "Overwrite bootloader kernel arguments"
810 Given string will overwrite any arguments passed in by
813 config CMDLINE_EXTEND
814 bool "Extend bootloader kernel arguments"
816 Given string will be concatenated with arguments passed in
822 string "Kernel command line arguments string"
823 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
824 default "console=ttySC1,115200"
831 tristate "SuperHyway Bus support"
832 depends on CPU_SUBTYPE_SH4_202
835 bool "Maple Bus support"
836 depends on SH_DREAMCAST
838 The Maple Bus is SEGA's serial communication bus for peripherals
839 on the Dreamcast. Without this bus support you won't be able to
840 get your Dreamcast keyboard etc to work, so most users
841 probably want to say 'Y' here, unless you are only using the
842 Dreamcast with a serial line terminal or a remote network
847 depends on SYS_SUPPORTS_PCI
850 Find out whether you have a PCI motherboard. PCI is the name of a
851 bus system, i.e. the way the CPU talks to the other stuff inside
852 your box. If you have PCI, say Y, otherwise N.
857 source "drivers/pci/pcie/Kconfig"
859 source "drivers/pci/Kconfig"
861 source "drivers/pcmcia/Kconfig"
863 source "drivers/pci/hotplug/Kconfig"
867 menu "Executable file formats"
869 source "fs/Kconfig.binfmt"
873 menu "Power management options (EXPERIMENTAL)"
874 depends on EXPERIMENTAL
876 source "kernel/power/Kconfig"
878 source "drivers/cpuidle/Kconfig"
884 source "drivers/Kconfig"
888 source "arch/sh/Kconfig.debug"
890 source "security/Kconfig"
892 source "crypto/Kconfig"
894 menuconfig VIRTUALIZATION
895 bool "Virtualization"
898 Say Y here to get to see options for using your Linux host to run other
899 operating systems inside virtual machines (guests).
900 This option alone does not add any kernel code.
902 If you say N, all options in this submenu will be skipped and disabled.
906 source drivers/virtio/Kconfig
908 endif # VIRTUALIZATION