[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