diff mbox series

ARM: Kconfig: improve ARM_SINGLE_ARMV7M description with Cortex M7

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

Commit Message

Giulio Benetti Dec. 2, 2021, 10:20 p.m. UTC
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(-)

Comments

Vladimir Murzin Dec. 3, 2021, 9:30 a.m. UTC | #1
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
>
Giulio Benetti Dec. 3, 2021, 4:41 p.m. UTC | #2
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
Vladimir Murzin Dec. 3, 2021, 5:01 p.m. UTC | #3
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
Giulio Benetti Dec. 3, 2021, 5:03 p.m. UTC | #4
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 mbox series

Patch

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