Message ID | 20211202222002.33456-1-giulio.benetti@benettiengineering.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: Kconfig: improve ARM_SINGLE_ARMV7M description with Cortex M7 | expand |
On 12/2/21 10:20 PM, Giulio Benetti wrote: > ARM_SINGLE_ARMV7M implies Arm Cortex M7 too, so let's add it to > description with M0/M3/M4. Well it also implies M33 and M55. I'd suggest drop specific implementations from description - so we do not need to update it each time new compatible core is released. To account newest cores like M33 and M55 you can rephrase to: - ARMv7-M/v8-M - ARMv7-M and above Cheers Vladimir > > Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> > --- > arch/arm/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index c2724d986fa0..67efbde70e34 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -329,7 +329,7 @@ config ARCH_MULTIPLATFORM > select USE_OF > > config ARM_SINGLE_ARMV7M > - bool "ARMv7-M based platforms (Cortex-M0/M3/M4)" > + bool "ARMv7-M based platforms (Cortex-M0/M3/M4/M7)" > depends on !MMU > select ARM_NVIC > select AUTO_ZRELADDR >
Hi Vladimir, On 03/12/21 10:30, Vladimir Murzin wrote: > On 12/2/21 10:20 PM, Giulio Benetti wrote: >> ARM_SINGLE_ARMV7M implies Arm Cortex M7 too, so let's add it to >> description with M0/M3/M4. > > Well it also implies M33 and M55. I'd suggest drop specific implementations > from description - so we do not need to update it each time new compatible > core is released. To account newest cores like M33 and M55 you can rephrase > to: > - ARMv7-M/v8-M This ^^^ is ok for me. Also, I don't see any M0 used at the moment so no ARMv6-M makes sense, if any in the future we can update. I see M3,M4,M7 for the moment, so ARMv7-M. But at the moment no ARMv8-M, or am I wrong? Maybe it would be better to add ARMv8-M when there will really be the support, considering also that ARM_SINGLE_ARMV7M is a bit ambiguous to be used with ARMv8-M. So maybe that could be modified too when an ARMv8-M is added. What do you think about this? Best regards
On 12/3/21 4:41 PM, Giulio Benetti wrote: > Hi Vladimir, > > On 03/12/21 10:30, Vladimir Murzin wrote: >> On 12/2/21 10:20 PM, Giulio Benetti wrote: >>> ARM_SINGLE_ARMV7M implies Arm Cortex M7 too, so let's add it to >>> description with M0/M3/M4. >> >> Well it also implies M33 and M55. I'd suggest drop specific implementations >> from description - so we do not need to update it each time new compatible >> core is released. To account newest cores like M33 and M55 you can rephrase >> to: >> - ARMv7-M/v8-M > > This ^^^ is ok for me. Also, I don't see any M0 used at the moment so no ARMv6-M makes sense, if any in the future we can update. I see M3,M4,M7 for the moment, so ARMv7-M. But at the moment no ARMv8-M, or am I wrong? We already support PMSAv8 which is ARMv8-M, M33/M55 is in flight [1]. > Maybe it would be better to add ARMv8-M when there will really be the support, considering also that ARM_SINGLE_ARMV7M is a bit ambiguous to be used with ARMv8-M. So maybe that could be modified too when an ARMv8-M is added. > > What do you think about this? Well, I prefer to touch this as rare as possible, and if we touch it then ensure we do not need to touch it for a long time ;) Look at A-class cores, config ARCH_MULTI_V7 bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)" it doesn't mention ARMv8, yet it is pretty much possible to run it on some cores either bare-metal or as a guest (just look under arch/arm/include/asm/cputype.h) These are just config options, not a legal deeds... [1] https://lore.kernel.org/linux-arm-kernel/20211201132908.106711-1-vladimir.murzin@arm.com/T/ Cheers Vladimir > > Best regards
On 03/12/21 18:01, Vladimir Murzin wrote: > On 12/3/21 4:41 PM, Giulio Benetti wrote: >> Hi Vladimir, >> >> On 03/12/21 10:30, Vladimir Murzin wrote: >>> On 12/2/21 10:20 PM, Giulio Benetti wrote: >>>> ARM_SINGLE_ARMV7M implies Arm Cortex M7 too, so let's add it to >>>> description with M0/M3/M4. >>> >>> Well it also implies M33 and M55. I'd suggest drop specific implementations >>> from description - so we do not need to update it each time new compatible >>> core is released. To account newest cores like M33 and M55 you can rephrase >>> to: >>> - ARMv7-M/v8-M >> >> This ^^^ is ok for me. Also, I don't see any M0 used at the moment so no ARMv6-M makes sense, if any in the future we can update. I see M3,M4,M7 for the moment, so ARMv7-M. But at the moment no ARMv8-M, or am I wrong? > > We already support PMSAv8 which is ARMv8-M, M33/M55 is in flight [1]. Ah, I've missed that. And great for M33! >> Maybe it would be better to add ARMv8-M when there will really be the support, considering also that ARM_SINGLE_ARMV7M is a bit ambiguous to be used with ARMv8-M. So maybe that could be modified too when an ARMv8-M is added. >> >> What do you think about this? > > Well, I prefer to touch this as rare as possible, and if we touch > it then ensure we do not need to touch it for a long time ;) > > Look at A-class cores, > > config ARCH_MULTI_V7 > bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)" > > it doesn't mention ARMv8, yet it is pretty much possible to run it > on some cores either bare-metal or as a guest (just look under > arch/arm/include/asm/cputype.h) Ah yeah, thanks for pointing, then I'm going with ARMv7-M/v8-M > These are just config options, not a legal deeds... +1 Thank you Best regards
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c2724d986fa0..67efbde70e34 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -329,7 +329,7 @@ config ARCH_MULTIPLATFORM select USE_OF config ARM_SINGLE_ARMV7M - bool "ARMv7-M based platforms (Cortex-M0/M3/M4)" + bool "ARMv7-M based platforms (Cortex-M0/M3/M4/M7)" depends on !MMU select ARM_NVIC select AUTO_ZRELADDR
ARM_SINGLE_ARMV7M implies Arm Cortex M7 too, so let's add it to description with M0/M3/M4. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> --- arch/arm/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)