forked from Minki/linux
194dfe88d6
There are three sets of updates for 5.18 in the asm-generic tree: - The set_fs()/get_fs() infrastructure gets removed for good. This was already gone from all major architectures, but now we can finally remove it everywhere, which loses some particularly tricky and error-prone code. There is a small merge conflict against a parisc cleanup, the solution is to use their new version. - The nds32 architecture ends its tenure in the Linux kernel. The hardware is still used and the code is in reasonable shape, but the mainline port is not actively maintained any more, as all remaining users are thought to run vendor kernels that would never be updated to a future release. There are some obvious conflicts against changes to the removed files. - A series from Masahiro Yamada cleans up some of the uapi header files to pass the compile-time checks. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmI69BsACgkQmmx57+YA GNn/zA//f4d5VTT0ThhRxRWTu9BdThGHoB8TUcY7iOhbsWu0X/913NItRC3UeWNl IdmisaXgVtirg1dcC2pWUmrcHdoWOCEGfK4+Zr2NhSWfuZDWvODHK9pGWk4WLnhe cQgUNBvIuuAMryGtrOBwHPO4TpfCyy2ioeVP36ZfcsWXdDxTrqfaq/56mk3sxIP6 sUTk1UEjut9NG4C9xIIvcSU50R3l6LryQE/H9kyTLtaSvfvTOvprcVYCq0GPmSzo DtQ1Wwa9zbJ+4EqoMiP5RrgQwWvOTg2iRByLU8ytwlX3e/SEF0uihvMv1FQbL8zG G8RhGUOKQSEhaBfc3lIkm8GpOVPh0uHzB6zhn7daVmAWtazRD2Nu59BMjipa+ims a8Z58iHH7jRAnKeEkVZqXKb1CEiUxaQx/IeVPzN4QlwMhDtwrI76LY7ZJ1zCqTGY ENG0yRLav1XselYBslOYXGtOEWcY5EZPWqLyWbp4P9vz2g0Fe0gZxoIOvPmNQc89 QnfXpCt7vm/DGkyO255myu08GOLeMkisVqUIzLDB9avlym5mri7T7vk9abBa2YyO CRpTL5gl1/qKPWuH1UI5mvhT+sbbBE2SUHSuy84btns39ZKKKynwCtdu+hSQkKLE h9pV30Gf1cLTD4JAE0RWlUgOmbBLVp34loTOexQj4MrLM1noOnw= =vtCN -----END PGP SIGNATURE----- Merge tag 'asm-generic-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic Pull asm-generic updates from Arnd Bergmann: "There are three sets of updates for 5.18 in the asm-generic tree: - The set_fs()/get_fs() infrastructure gets removed for good. This was already gone from all major architectures, but now we can finally remove it everywhere, which loses some particularly tricky and error-prone code. There is a small merge conflict against a parisc cleanup, the solution is to use their new version. - The nds32 architecture ends its tenure in the Linux kernel. The hardware is still used and the code is in reasonable shape, but the mainline port is not actively maintained any more, as all remaining users are thought to run vendor kernels that would never be updated to a future release. - A series from Masahiro Yamada cleans up some of the uapi header files to pass the compile-time checks" * tag 'asm-generic-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (27 commits) nds32: Remove the architecture uaccess: remove CONFIG_SET_FS ia64: remove CONFIG_SET_FS support sh: remove CONFIG_SET_FS support sparc64: remove CONFIG_SET_FS support lib/test_lockup: fix kernel pointer check for separate address spaces uaccess: generalize access_ok() uaccess: fix type mismatch warnings from access_ok() arm64: simplify access_ok() m68k: fix access_ok for coldfire MIPS: use simpler access_ok() MIPS: Handle address errors for accesses above CPU max virtual user address uaccess: add generic __{get,put}_kernel_nofault nios2: drop access_ok() check from __put_user() x86: use more conventional access_ok() definition x86: remove __range_not_ok() sparc64: add __{get,put}_kernel_nofault() nds32: fix access_ok() checks in get/put_user uaccess: fix nios2 and microblaze get_user_8() sparc64: fix building assembly files ...
794 lines
19 KiB
Plaintext
794 lines
19 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
config SUPERH
|
|
def_bool y
|
|
select ARCH_32BIT_OFF_T
|
|
select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM && MMU
|
|
select ARCH_ENABLE_MEMORY_HOTREMOVE if SPARSEMEM && MMU
|
|
select ARCH_HAVE_CUSTOM_GPIO_H
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
|
|
select ARCH_HAS_BINFMT_FLAT if !MMU
|
|
select ARCH_HAS_CURRENT_STACK_POINTER
|
|
select ARCH_HAS_GIGANTIC_PAGE
|
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
|
select ARCH_HAS_PTE_SPECIAL
|
|
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
|
|
select ARCH_HIBERNATION_POSSIBLE if MMU
|
|
select ARCH_MIGHT_HAVE_PC_PARPORT
|
|
select ARCH_WANT_IPC_PARSE_VERSION
|
|
select CPU_NO_EFFICIENT_FFS
|
|
select DMA_DECLARE_COHERENT
|
|
select GENERIC_ATOMIC64
|
|
select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
|
|
select GENERIC_IDLE_POLL_SETUP
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_PCI_IOMAP if PCI
|
|
select GENERIC_SCHED_CLOCK
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
select GUP_GET_PTE_LOW_HIGH if X2TLB
|
|
select HAVE_ARCH_AUDITSYSCALL
|
|
select HAVE_ARCH_KGDB
|
|
select HAVE_ARCH_SECCOMP_FILTER
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select HAVE_DEBUG_BUGVERBOSE
|
|
select HAVE_DEBUG_KMEMLEAK
|
|
select HAVE_DYNAMIC_FTRACE
|
|
select HAVE_FAST_GUP if MMU
|
|
select HAVE_FUNCTION_GRAPH_TRACER
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_FTRACE_MCOUNT_RECORD
|
|
select HAVE_HW_BREAKPOINT
|
|
select HAVE_IOREMAP_PROT if MMU && !X2TLB
|
|
select HAVE_KERNEL_BZIP2
|
|
select HAVE_KERNEL_GZIP
|
|
select HAVE_KERNEL_LZMA
|
|
select HAVE_KERNEL_LZO
|
|
select HAVE_KERNEL_XZ
|
|
select HAVE_KPROBES
|
|
select HAVE_KRETPROBES
|
|
select HAVE_MIXED_BREAKPOINTS_REGS
|
|
select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
|
|
select HAVE_NMI
|
|
select HAVE_PATA_PLATFORM
|
|
select HAVE_PERF_EVENTS
|
|
select HAVE_REGS_AND_STACK_ACCESS_API
|
|
select HAVE_UID16
|
|
select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
|
|
select HAVE_STACKPROTECTOR
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select IRQ_FORCED_THREADING
|
|
select MODULES_USE_ELF_RELA
|
|
select NEED_SG_DMA_LENGTH
|
|
select NO_DMA if !MMU && !DMA_COHERENT
|
|
select NO_GENERIC_PCI_IOPORT_MAP if PCI
|
|
select OLD_SIGACTION
|
|
select OLD_SIGSUSPEND
|
|
select PCI_DOMAINS if PCI
|
|
select PERF_EVENTS
|
|
select PERF_USE_VMALLOC
|
|
select RTC_LIB
|
|
select SPARSE_IRQ
|
|
select TRACE_IRQFLAGS_SUPPORT
|
|
help
|
|
The SuperH is a RISC processor targeted for use in embedded systems
|
|
and consumer electronics; it was also used in the Sega Dreamcast
|
|
gaming console. The SuperH port has a home page at
|
|
<http://www.linux-sh.org/>.
|
|
|
|
config GENERIC_BUG
|
|
def_bool y
|
|
depends on BUG
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
|
|
config GENERIC_LOCKBREAK
|
|
def_bool y
|
|
depends on SMP && PREEMPTION
|
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
|
def_bool n
|
|
|
|
config ARCH_HIBERNATION_POSSIBLE
|
|
def_bool n
|
|
|
|
config SYS_SUPPORTS_APM_EMULATION
|
|
bool
|
|
select ARCH_SUSPEND_POSSIBLE
|
|
|
|
config SYS_SUPPORTS_SMP
|
|
bool
|
|
|
|
config SYS_SUPPORTS_NUMA
|
|
bool
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config LOCKDEP_SUPPORT
|
|
def_bool y
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
def_bool n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
def_bool n
|
|
|
|
config NO_IOPORT_MAP
|
|
def_bool !PCI
|
|
depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
|
|
!SH_SOLUTION_ENGINE
|
|
|
|
config IO_TRAPPED
|
|
bool
|
|
|
|
config SWAP_IO_SPACE
|
|
bool
|
|
|
|
config DMA_COHERENT
|
|
bool
|
|
|
|
config DMA_NONCOHERENT
|
|
def_bool !NO_DMA && !DMA_COHERENT
|
|
select ARCH_HAS_DMA_PREP_COHERENT
|
|
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
select DMA_DIRECT_REMAP
|
|
|
|
config PGTABLE_LEVELS
|
|
default 3 if X2TLB
|
|
default 2
|
|
|
|
menu "System type"
|
|
|
|
#
|
|
# Processor families
|
|
#
|
|
config CPU_SH2
|
|
bool
|
|
select SH_INTC
|
|
|
|
config CPU_SH2A
|
|
bool
|
|
select CPU_SH2
|
|
select UNCACHED_MAPPING
|
|
|
|
config CPU_J2
|
|
bool
|
|
select CPU_SH2
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
|
|
config CPU_SH3
|
|
bool
|
|
select CPU_HAS_INTEVT
|
|
select CPU_HAS_SR_RB
|
|
select SH_INTC
|
|
select SYS_SUPPORTS_SH_TMU
|
|
|
|
config CPU_SH4
|
|
bool
|
|
select ARCH_SUPPORTS_HUGETLBFS if MMU
|
|
select CPU_HAS_INTEVT
|
|
select CPU_HAS_SR_RB
|
|
select CPU_HAS_FPU if !CPU_SH4AL_DSP
|
|
select SH_INTC
|
|
select SYS_SUPPORTS_SH_TMU
|
|
|
|
config CPU_SH4A
|
|
bool
|
|
select CPU_SH4
|
|
|
|
config CPU_SH4AL_DSP
|
|
bool
|
|
select CPU_SH4A
|
|
select CPU_HAS_DSP
|
|
|
|
config CPU_SHX2
|
|
bool
|
|
|
|
config CPU_SHX3
|
|
bool
|
|
select DMA_COHERENT
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_NUMA
|
|
|
|
config ARCH_SHMOBILE
|
|
bool
|
|
select ARCH_SUSPEND_POSSIBLE
|
|
select PM
|
|
|
|
config CPU_HAS_PMU
|
|
depends on CPU_SH4 || CPU_SH4A
|
|
default y
|
|
bool
|
|
|
|
choice
|
|
prompt "Processor sub-type selection"
|
|
|
|
#
|
|
# Processor subtypes
|
|
#
|
|
|
|
# SH-2 Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7619
|
|
bool "Support SH7619 processor"
|
|
select CPU_SH2
|
|
select SYS_SUPPORTS_SH_CMT
|
|
|
|
config CPU_SUBTYPE_J2
|
|
bool "Support J2 processor"
|
|
select CPU_J2
|
|
select SYS_SUPPORTS_SMP
|
|
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
|
|
|
|
# SH-2A Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7201
|
|
bool "Support SH7201 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
|
|
config CPU_SUBTYPE_SH7203
|
|
bool "Support SH7203 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7206
|
|
bool "Support SH7206 processor"
|
|
select CPU_SH2A
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
|
|
config CPU_SUBTYPE_SH7263
|
|
bool "Support SH7263 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
|
|
config CPU_SUBTYPE_SH7264
|
|
bool "Support SH7264 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7269
|
|
bool "Support SH7269 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_MXG
|
|
bool "Support MX-G processor"
|
|
select CPU_SH2A
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
help
|
|
Select MX-G if running on an R8A03022BG part.
|
|
|
|
# SH-3 Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7705
|
|
bool "Support SH7705 processor"
|
|
select CPU_SH3
|
|
|
|
config CPU_SUBTYPE_SH7706
|
|
bool "Support SH7706 processor"
|
|
select CPU_SH3
|
|
help
|
|
Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7707
|
|
bool "Support SH7707 processor"
|
|
select CPU_SH3
|
|
help
|
|
Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7708
|
|
bool "Support SH7708 processor"
|
|
select CPU_SH3
|
|
help
|
|
Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
|
|
if you have a 100 Mhz SH-3 HD6417708R CPU.
|
|
|
|
config CPU_SUBTYPE_SH7709
|
|
bool "Support SH7709 processor"
|
|
select CPU_SH3
|
|
help
|
|
Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7710
|
|
bool "Support SH7710 processor"
|
|
select CPU_SH3
|
|
select CPU_HAS_DSP
|
|
help
|
|
Select SH7710 if you have a SH3-DSP SH7710 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7712
|
|
bool "Support SH7712 processor"
|
|
select CPU_SH3
|
|
select CPU_HAS_DSP
|
|
help
|
|
Select SH7712 if you have a SH3-DSP SH7712 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7720
|
|
bool "Support SH7720 processor"
|
|
select CPU_SH3
|
|
select CPU_HAS_DSP
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
select PINCTRL
|
|
help
|
|
Select SH7720 if you have a SH3-DSP SH7720 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7721
|
|
bool "Support SH7721 processor"
|
|
select CPU_SH3
|
|
select CPU_HAS_DSP
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
help
|
|
Select SH7721 if you have a SH3-DSP SH7721 CPU.
|
|
|
|
# SH-4 Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7750
|
|
bool "Support SH7750 processor"
|
|
select CPU_SH4
|
|
help
|
|
Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7091
|
|
bool "Support SH7091 processor"
|
|
select CPU_SH4
|
|
help
|
|
Select SH7091 if you have an SH-4 based Sega device (such as
|
|
the Dreamcast, Naomi, and Naomi 2).
|
|
|
|
config CPU_SUBTYPE_SH7750R
|
|
bool "Support SH7750R processor"
|
|
select CPU_SH4
|
|
|
|
config CPU_SUBTYPE_SH7750S
|
|
bool "Support SH7750S processor"
|
|
select CPU_SH4
|
|
|
|
config CPU_SUBTYPE_SH7751
|
|
bool "Support SH7751 processor"
|
|
select CPU_SH4
|
|
help
|
|
Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
|
|
or if you have a HD6417751R CPU.
|
|
|
|
config CPU_SUBTYPE_SH7751R
|
|
bool "Support SH7751R processor"
|
|
select CPU_SH4
|
|
|
|
config CPU_SUBTYPE_SH7760
|
|
bool "Support SH7760 processor"
|
|
select CPU_SH4
|
|
|
|
config CPU_SUBTYPE_SH4_202
|
|
bool "Support SH4-202 processor"
|
|
select CPU_SH4
|
|
|
|
# SH-4A Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7723
|
|
bool "Support SH7723 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select ARCH_SHMOBILE
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select PINCTRL
|
|
help
|
|
Select SH7723 if you have an SH-MobileR2 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7724
|
|
bool "Support SH7724 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select ARCH_SHMOBILE
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select PINCTRL
|
|
help
|
|
Select SH7724 if you have an SH-MobileR2R CPU.
|
|
|
|
config CPU_SUBTYPE_SH7734
|
|
bool "Support SH7734 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select PINCTRL
|
|
help
|
|
Select SH7734 if you have a SH4A SH7734 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7757
|
|
bool "Support SH7757 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select PINCTRL
|
|
help
|
|
Select SH7757 if you have a SH4A SH7757 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7763
|
|
bool "Support SH7763 processor"
|
|
select CPU_SH4A
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
help
|
|
Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
|
|
|
|
config CPU_SUBTYPE_SH7770
|
|
bool "Support SH7770 processor"
|
|
select CPU_SH4A
|
|
|
|
config CPU_SUBTYPE_SH7780
|
|
bool "Support SH7780 processor"
|
|
select CPU_SH4A
|
|
|
|
config CPU_SUBTYPE_SH7785
|
|
bool "Support SH7785 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_NUMA
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7786
|
|
bool "Support SH7786 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX3
|
|
select CPU_HAS_PTEAEX
|
|
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
select USB_EHCI_SH if USB_EHCI_HCD
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SHX3
|
|
bool "Support SH-X3 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX3
|
|
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
|
|
select GPIOLIB
|
|
select PINCTRL
|
|
|
|
# SH4AL-DSP Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7343
|
|
bool "Support SH7343 processor"
|
|
select CPU_SH4AL_DSP
|
|
select ARCH_SHMOBILE
|
|
select SYS_SUPPORTS_SH_CMT
|
|
|
|
config CPU_SUBTYPE_SH7722
|
|
bool "Support SH7722 processor"
|
|
select CPU_SH4AL_DSP
|
|
select CPU_SHX2
|
|
select ARCH_SHMOBILE
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_NUMA
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7366
|
|
bool "Support SH7366 processor"
|
|
select CPU_SH4AL_DSP
|
|
select CPU_SHX2
|
|
select ARCH_SHMOBILE
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_NUMA
|
|
select SYS_SUPPORTS_SH_CMT
|
|
|
|
endchoice
|
|
|
|
source "arch/sh/mm/Kconfig"
|
|
|
|
source "arch/sh/Kconfig.cpu"
|
|
|
|
source "arch/sh/boards/Kconfig"
|
|
|
|
menu "Timer and clock configuration"
|
|
|
|
config SH_PCLK_FREQ
|
|
int "Peripheral clock frequency (in Hz)"
|
|
depends on SH_CLK_CPG_LEGACY
|
|
default "31250000" if CPU_SUBTYPE_SH7619
|
|
default "33333333" if CPU_SUBTYPE_SH7770 || \
|
|
CPU_SUBTYPE_SH7760 || \
|
|
CPU_SUBTYPE_SH7705 || \
|
|
CPU_SUBTYPE_SH7203 || \
|
|
CPU_SUBTYPE_SH7206 || \
|
|
CPU_SUBTYPE_SH7263 || \
|
|
CPU_SUBTYPE_MXG
|
|
default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
|
|
default "66000000" if CPU_SUBTYPE_SH4_202
|
|
default "50000000"
|
|
help
|
|
This option is used to specify the peripheral clock frequency.
|
|
This is necessary for determining the reference clock value on
|
|
platforms lacking an RTC.
|
|
|
|
config SH_CLK_CPG
|
|
def_bool y
|
|
|
|
config SH_CLK_CPG_LEGACY
|
|
depends on SH_CLK_CPG
|
|
def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
|
|
!CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
|
|
!CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
|
|
!CPU_SUBTYPE_SH7269
|
|
|
|
endmenu
|
|
|
|
menu "CPU Frequency scaling"
|
|
source "drivers/cpufreq/Kconfig"
|
|
endmenu
|
|
|
|
source "arch/sh/drivers/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Kernel features"
|
|
|
|
source "kernel/Kconfig.hz"
|
|
|
|
config KEXEC
|
|
bool "kexec system call (EXPERIMENTAL)"
|
|
depends on MMU
|
|
select KEXEC_CORE
|
|
help
|
|
kexec is a system call that implements the ability to shutdown your
|
|
current kernel, and to start another kernel. It is like a reboot
|
|
but it is independent of the system firmware. And like a reboot
|
|
you can start any kernel with it, not just Linux.
|
|
|
|
The name comes from the similarity to the exec system call.
|
|
|
|
It is an ongoing process to be certain the hardware in a machine
|
|
is properly shutdown, so do not be surprised if this code does not
|
|
initially work for you. As of this writing the exact hardware
|
|
interface is strongly in flux, so no good recommendation can be
|
|
made.
|
|
|
|
config CRASH_DUMP
|
|
bool "kernel crash dumps (EXPERIMENTAL)"
|
|
depends on BROKEN_ON_SMP
|
|
help
|
|
Generate crash dump after being started by kexec.
|
|
This should be normally only set in special crash dump kernels
|
|
which are loaded in the main kernel with kexec-tools into
|
|
a specially reserved region and then later executed after
|
|
a crash by kdump/kexec. The crash dump kernel must be compiled
|
|
to a memory address not used by the main kernel using
|
|
PHYSICAL_START.
|
|
|
|
For more details see Documentation/admin-guide/kdump/kdump.rst
|
|
|
|
config KEXEC_JUMP
|
|
bool "kexec jump (EXPERIMENTAL)"
|
|
depends on KEXEC && HIBERNATION
|
|
help
|
|
Jump between original kernel and kexeced kernel and invoke
|
|
code via KEXEC
|
|
|
|
config PHYSICAL_START
|
|
hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
|
|
default MEMORY_START
|
|
help
|
|
This gives the physical address where the kernel is loaded
|
|
and is ordinarily the same as MEMORY_START.
|
|
|
|
Different values are primarily used in the case of kexec on panic
|
|
where the fail safe kernel needs to run at a different address
|
|
than the panic-ed kernel.
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
depends on SYS_SUPPORTS_SMP
|
|
help
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, say N. If you have a system with more
|
|
than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on uni- and multiprocessor
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
you say Y here, the kernel will run on many, but not all,
|
|
uniprocessor machines. On a uniprocessor machine, the kernel
|
|
will run faster if you say N here.
|
|
|
|
People using multiprocessor machines who say Y here should also say
|
|
Y to "Enhanced Real Time Clock Support", below.
|
|
|
|
See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
|
|
available at <https://www.tldp.org/docs.html#howto>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-32)"
|
|
range 2 32
|
|
depends on SMP
|
|
default "4" if CPU_SUBTYPE_SHX3
|
|
default "2"
|
|
help
|
|
This allows you to specify the maximum number of CPUs which this
|
|
kernel will support. The maximum supported value is 32 and the
|
|
minimum value which makes sense is 2.
|
|
|
|
This is purely to save memory - each supported CPU adds
|
|
approximately eight kilobytes to the kernel image.
|
|
|
|
config HOTPLUG_CPU
|
|
bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
|
|
depends on SMP
|
|
help
|
|
Say Y here to experiment with turning CPUs off and on. CPUs
|
|
can be controlled through /sys/devices/system/cpu.
|
|
|
|
config GUSA
|
|
def_bool y
|
|
depends on !SMP
|
|
help
|
|
This enables support for gUSA (general UserSpace Atomicity).
|
|
This is the default implementation for both UP and non-ll/sc
|
|
CPUs, and is used by the libc, amongst others.
|
|
|
|
For additional information, design information can be found
|
|
in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
|
|
|
|
This should only be disabled for special cases where alternate
|
|
atomicity implementations exist.
|
|
|
|
config GUSA_RB
|
|
bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
|
|
depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
|
|
help
|
|
Enabling this option will allow the kernel to implement some
|
|
atomic operations using a software implementation of load-locked/
|
|
store-conditional (LLSC). On machines which do not have hardware
|
|
LLSC, this should be more efficient than the other alternative of
|
|
disabling interrupts around the atomic sequence.
|
|
|
|
config HW_PERF_EVENTS
|
|
bool "Enable hardware performance counter support for perf events"
|
|
depends on PERF_EVENTS && CPU_HAS_PMU
|
|
default y
|
|
help
|
|
Enable hardware performance counter support for perf events. If
|
|
disabled, perf events will use software events only.
|
|
|
|
source "drivers/sh/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Boot options"
|
|
|
|
config USE_BUILTIN_DTB
|
|
bool "Use builtin DTB"
|
|
default n
|
|
depends on SH_DEVICE_TREE
|
|
help
|
|
Link a device tree blob for particular hardware into the kernel,
|
|
suppressing use of the DTB pointer provided by the bootloader.
|
|
This option should only be used with legacy bootloaders that are
|
|
not capable of providing a DTB to the kernel, or for experimental
|
|
hardware without stable device tree bindings.
|
|
|
|
config BUILTIN_DTB_SOURCE
|
|
string "Source file for builtin DTB"
|
|
default ""
|
|
depends on USE_BUILTIN_DTB
|
|
help
|
|
Base name (without suffix, relative to arch/sh/boot/dts) for the
|
|
a DTS file that will be used to produce the DTB linked into the
|
|
kernel.
|
|
|
|
config ZERO_PAGE_OFFSET
|
|
hex
|
|
default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
|
|
SH_7751_SOLUTION_ENGINE
|
|
default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
|
|
default "0x00002000" if PAGE_SIZE_8KB
|
|
default "0x00001000"
|
|
help
|
|
This sets the default offset of zero page.
|
|
|
|
config BOOT_LINK_OFFSET
|
|
hex
|
|
default "0x00210000" if SH_SHMIN
|
|
default "0x00810000" if SH_7780_SOLUTION_ENGINE
|
|
default "0x009e0000" if SH_TITAN
|
|
default "0x01800000" if SH_SDK7780
|
|
default "0x02000000" if SH_EDOSK7760
|
|
default "0x00800000"
|
|
help
|
|
This option allows you to set the link address offset of the zImage.
|
|
This can be useful if you are on a board which has a small amount of
|
|
memory.
|
|
|
|
config ENTRY_OFFSET
|
|
hex
|
|
default "0x00001000" if PAGE_SIZE_4KB
|
|
default "0x00002000" if PAGE_SIZE_8KB
|
|
default "0x00004000" if PAGE_SIZE_16KB
|
|
default "0x00010000" if PAGE_SIZE_64KB
|
|
default "0x00000000"
|
|
|
|
config ROMIMAGE_MMCIF
|
|
bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
|
|
depends on CPU_SUBTYPE_SH7724
|
|
help
|
|
Say Y here to include experimental MMCIF loading code in
|
|
romImage. With this enabled it is possible to write the romImage
|
|
kernel image to an MMC card and boot the kernel straight from
|
|
the reset vector. At reset the processor Mask ROM will load the
|
|
first part of the romImage which in turn loads the rest the kernel
|
|
image to RAM using the MMCIF hardware block.
|
|
|
|
choice
|
|
prompt "Kernel command line"
|
|
optional
|
|
default CMDLINE_OVERWRITE
|
|
help
|
|
Setting this option allows the kernel command line arguments
|
|
to be set.
|
|
|
|
config CMDLINE_OVERWRITE
|
|
bool "Overwrite bootloader kernel arguments"
|
|
help
|
|
Given string will overwrite any arguments passed in by
|
|
a bootloader.
|
|
|
|
config CMDLINE_EXTEND
|
|
bool "Extend bootloader kernel arguments"
|
|
help
|
|
Given string will be concatenated with arguments passed in
|
|
by a bootloader.
|
|
|
|
endchoice
|
|
|
|
config CMDLINE
|
|
string "Kernel command line arguments string"
|
|
depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
|
|
default "console=ttySC1,115200"
|
|
|
|
endmenu
|
|
|
|
menu "Bus options"
|
|
|
|
config SUPERHYWAY
|
|
tristate "SuperHyway Bus support"
|
|
depends on CPU_SUBTYPE_SH4_202
|
|
|
|
config MAPLE
|
|
bool "Maple Bus support"
|
|
depends on SH_DREAMCAST
|
|
help
|
|
The Maple Bus is SEGA's serial communication bus for peripherals
|
|
on the Dreamcast. Without this bus support you won't be able to
|
|
get your Dreamcast keyboard etc to work, so most users
|
|
probably want to say 'Y' here, unless you are only using the
|
|
Dreamcast with a serial line terminal or a remote network
|
|
connection.
|
|
|
|
endmenu
|
|
|
|
menu "Power management options (EXPERIMENTAL)"
|
|
|
|
source "kernel/power/Kconfig"
|
|
|
|
source "drivers/cpuidle/Kconfig"
|
|
|
|
endmenu
|