Message ID | 20230515160234.289631-1-afd@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/10] ARM: Kconfig: move platform selection into its own Kconfig file | expand |
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@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
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
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@ti.com> --- arch/arm/Kconfig | 67 +------------------------------------ arch/arm/Kconfig.platforms | 68 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 66 deletions(-) create mode 100644 arch/arm/Kconfig.platforms