[PATCH 01/10] ARM: Kconfig: move platform selection into its own Kconfig file

Andrew Davis afd at ti.com
Mon May 15 09:31:47 PDT 2023


On 5/15/23 9:02 AM, Andrew Davis wrote:
> Mostly just for better organization for now. This matches what is done on
> some other platforms including ARM64. This also lets us start to reduce
> the number of mach- directories that only exist to store the platform
> selection.
> 
> Start with "Platform selection" and ARCH_VIRT.
> 
> Signed-off-by: Andrew Davis <afd at ti.com>
> ---

Oh, forgot to tag it but this is v2 posting of this series. No changes
from v1, just rebased on v6.4-rc2.

Andrew

>   arch/arm/Kconfig           | 67 +------------------------------------
>   arch/arm/Kconfig.platforms | 68 ++++++++++++++++++++++++++++++++++++++
>   2 files changed, 69 insertions(+), 66 deletions(-)
>   create mode 100644 arch/arm/Kconfig.platforms
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 0fb4b218f665..23e3e344f9c0 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -336,72 +336,7 @@ config ARCH_MULTIPLATFORM
>   	  Selecting N here allows using those options, including
>   	  DEBUG_UNCOMPRESS, XIP_KERNEL and ZBOOT_ROM. If unsure, say Y.
>   
> -menu "Platform selection"
> -	depends on MMU
> -
> -comment "CPU Core family selection"
> -
> -config ARCH_MULTI_V4
> -	bool "ARMv4 based platforms (FA526, StrongARM)"
> -	depends on !ARCH_MULTI_V6_V7
> -	# https://github.com/llvm/llvm-project/issues/50764
> -	depends on !LD_IS_LLD || LLD_VERSION >= 160000
> -	select ARCH_MULTI_V4_V5
> -	select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
> -
> -config ARCH_MULTI_V4T
> -	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
> -	depends on !ARCH_MULTI_V6_V7
> -	# https://github.com/llvm/llvm-project/issues/50764
> -	depends on !LD_IS_LLD || LLD_VERSION >= 160000
> -	select ARCH_MULTI_V4_V5
> -	select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
> -		CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
> -		CPU_ARM925T || CPU_ARM940T)
> -
> -config ARCH_MULTI_V5
> -	bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
> -	depends on !ARCH_MULTI_V6_V7
> -	select ARCH_MULTI_V4_V5
> -	select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
> -		CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
> -		CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
> -
> -config ARCH_MULTI_V4_V5
> -	bool
> -
> -config ARCH_MULTI_V6
> -	bool "ARMv6 based platforms (ARM11)"
> -	select ARCH_MULTI_V6_V7
> -	select CPU_V6K
> -
> -config ARCH_MULTI_V7
> -	bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
> -	default y
> -	select ARCH_MULTI_V6_V7
> -	select CPU_V7
> -	select HAVE_SMP
> -
> -config ARCH_MULTI_V6_V7
> -	bool
> -	select MIGHT_HAVE_CACHE_L2X0
> -
> -config ARCH_MULTI_CPU_AUTO
> -	def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
> -	select ARCH_MULTI_V5
> -
> -endmenu
> -
> -config ARCH_VIRT
> -	bool "Dummy Virtual Machine"
> -	depends on ARCH_MULTI_V7
> -	select ARM_AMBA
> -	select ARM_GIC
> -	select ARM_GIC_V2M if PCI
> -	select ARM_GIC_V3
> -	select ARM_GIC_V3_ITS if PCI
> -	select ARM_PSCI
> -	select HAVE_ARM_ARCH_TIMER
> +source "arch/arm/Kconfig.platforms"
>   
>   config ARCH_AIROHA
>   	bool "Airoha SoC Support"
> diff --git a/arch/arm/Kconfig.platforms b/arch/arm/Kconfig.platforms
> new file mode 100644
> index 000000000000..ed1f6da11e24
> --- /dev/null
> +++ b/arch/arm/Kconfig.platforms
> @@ -0,0 +1,68 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +menu "Platform selection"
> +	depends on MMU
> +
> +comment "CPU Core family selection"
> +
> +config ARCH_MULTI_V4
> +	bool "ARMv4 based platforms (FA526, StrongARM)"
> +	depends on !ARCH_MULTI_V6_V7
> +	# https://github.com/llvm/llvm-project/issues/50764
> +	depends on !LD_IS_LLD || LLD_VERSION >= 160000
> +	select ARCH_MULTI_V4_V5
> +	select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
> +
> +config ARCH_MULTI_V4T
> +	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
> +	depends on !ARCH_MULTI_V6_V7
> +	# https://github.com/llvm/llvm-project/issues/50764
> +	depends on !LD_IS_LLD || LLD_VERSION >= 160000
> +	select ARCH_MULTI_V4_V5
> +	select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
> +		CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
> +		CPU_ARM925T || CPU_ARM940T)
> +
> +config ARCH_MULTI_V5
> +	bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
> +	depends on !ARCH_MULTI_V6_V7
> +	select ARCH_MULTI_V4_V5
> +	select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
> +		CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
> +		CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
> +
> +config ARCH_MULTI_V4_V5
> +	bool
> +
> +config ARCH_MULTI_V6
> +	bool "ARMv6 based platforms (ARM11)"
> +	select ARCH_MULTI_V6_V7
> +	select CPU_V6K
> +
> +config ARCH_MULTI_V7
> +	bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
> +	default y
> +	select ARCH_MULTI_V6_V7
> +	select CPU_V7
> +	select HAVE_SMP
> +
> +config ARCH_MULTI_V6_V7
> +	bool
> +	select MIGHT_HAVE_CACHE_L2X0
> +
> +config ARCH_MULTI_CPU_AUTO
> +	def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
> +	select ARCH_MULTI_V5
> +
> +endmenu
> +
> +config ARCH_VIRT
> +	bool "Dummy Virtual Machine"
> +	depends on ARCH_MULTI_V7
> +	select ARM_AMBA
> +	select ARM_GIC
> +	select ARM_GIC_V2M if PCI
> +	select ARM_GIC_V3
> +	select ARM_GIC_V3_ITS if PCI
> +	select ARM_PSCI
> +	select HAVE_ARM_ARCH_TIMER



More information about the linux-arm-kernel mailing list