linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A
@ 2022-05-09 13:40 Geert Uytterhoeven
  2022-05-09 15:35 ` Mark Brown
  2022-05-10  9:15 ` Will Deacon
  0 siblings, 2 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2022-05-09 13:40 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon, Mark Brown
  Cc: linux-arm-kernel, linux-kernel, Geert Uytterhoeven

The help text for the config option to enable support for the ARM
Scalable Matrix Extension does not mention the specification baseline
for this extension.  Make it clear this is an extension for the ARMv9-A
architecture, so users know when it is safe to disable this option,
which is enabled by default.

Fixes: a1f4ccd25cc25625 ("arm64/sme: Provide Kconfig for SME")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 arch/arm64/Kconfig | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 0e9bbeb1262d0ca8..f3a0d0cff3fb5265 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1964,9 +1964,9 @@ config ARM64_SME
 	default y
 	depends on ARM64_SVE
 	help
-	  The Scalable Matrix Extension (SME) is an extension to the AArch64
-	  execution state which utilises a substantial subset of the SVE
-	  instruction set, together with the addition of new architectural
+	  The Scalable Matrix Extension (SME) is an ARMv9-A extension to the
+	  AArch64 execution state which utilises a substantial subset of the
+	  SVE instruction set, together with the addition of new architectural
 	  register state capable of holding two dimensional matrix tiles to
 	  enable various matrix operations.
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A
  2022-05-09 13:40 [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A Geert Uytterhoeven
@ 2022-05-09 15:35 ` Mark Brown
  2022-05-10  8:08   ` Geert Uytterhoeven
  2022-05-10  9:15 ` Will Deacon
  1 sibling, 1 reply; 6+ messages in thread
From: Mark Brown @ 2022-05-09 15:35 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Catalin Marinas, Will Deacon, linux-arm-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 590 bytes --]

On Mon, May 09, 2022 at 03:40:30PM +0200, Geert Uytterhoeven wrote:
> The help text for the config option to enable support for the ARM
> Scalable Matrix Extension does not mention the specification baseline
> for this extension.  Make it clear this is an extension for the ARMv9-A
> architecture, so users know when it is safe to disable this option,
> which is enabled by default.

If this is important we should probably also do it for SVE, it was
introduced along with v8.2 but that's not called out in Kconfig.

> Fixes: a1f4ccd25cc25625 ("arm64/sme: Provide Kconfig for SME")

Fixes?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A
  2022-05-09 15:35 ` Mark Brown
@ 2022-05-10  8:08   ` Geert Uytterhoeven
  0 siblings, 0 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2022-05-10  8:08 UTC (permalink / raw)
  To: Mark Brown
  Cc: Catalin Marinas, Will Deacon, Linux ARM, Linux Kernel Mailing List

Hi Mark,

On Mon, May 9, 2022 at 5:35 PM Mark Brown <broonie@kernel.org> wrote:
> On Mon, May 09, 2022 at 03:40:30PM +0200, Geert Uytterhoeven wrote:
> > The help text for the config option to enable support for the ARM
> > Scalable Matrix Extension does not mention the specification baseline
> > for this extension.  Make it clear this is an extension for the ARMv9-A
> > architecture, so users know when it is safe to disable this option,
> > which is enabled by default.
>
> If this is important we should probably also do it for SVE, it was
> introduced along with v8.2 but that's not called out in Kconfig.

Makes sense.

I jumped on this one in particular, as I believe it's the first v9 extension.

> > Fixes: a1f4ccd25cc25625 ("arm64/sme: Provide Kconfig for SME")
>
> Fixes?

That we can discuss about ;-)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A
  2022-05-09 13:40 [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A Geert Uytterhoeven
  2022-05-09 15:35 ` Mark Brown
@ 2022-05-10  9:15 ` Will Deacon
  2022-05-10  9:20   ` Geert Uytterhoeven
  1 sibling, 1 reply; 6+ messages in thread
From: Will Deacon @ 2022-05-10  9:15 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Catalin Marinas, Mark Brown, linux-arm-kernel, linux-kernel

On Mon, May 09, 2022 at 03:40:30PM +0200, Geert Uytterhoeven wrote:
> The help text for the config option to enable support for the ARM
> Scalable Matrix Extension does not mention the specification baseline
> for this extension.  Make it clear this is an extension for the ARMv9-A
> architecture, so users know when it is safe to disable this option,
> which is enabled by default.
> 
> Fixes: a1f4ccd25cc25625 ("arm64/sme: Provide Kconfig for SME")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  arch/arm64/Kconfig | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 0e9bbeb1262d0ca8..f3a0d0cff3fb5265 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1964,9 +1964,9 @@ config ARM64_SME
>  	default y
>  	depends on ARM64_SVE
>  	help
> -	  The Scalable Matrix Extension (SME) is an extension to the AArch64
> -	  execution state which utilises a substantial subset of the SVE
> -	  instruction set, together with the addition of new architectural
> +	  The Scalable Matrix Extension (SME) is an ARMv9-A extension to the
> +	  AArch64 execution state which utilises a substantial subset of the
> +	  SVE instruction set, together with the addition of new architectural

Why is this useful information? The v9 vs v8 distinction is purely a
marketing thing, so I'd be _very_ wary of drawing any technical conclusions
based on that, especially as Arm have a track record for "backporting"
features into older CPUs if there is demand for it. Do you know what the
toolchains have done here? (i.e. is there march=armv9-a or can you do
march=armv8-a+sme or something else?).

Having said all that, we do already have the Kconfig menu entries for "Armv8.x
architectural features", so adding one for "Armv9" would be consistent with
that if you really want it.

Will

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A
  2022-05-10  9:15 ` Will Deacon
@ 2022-05-10  9:20   ` Geert Uytterhoeven
  2022-05-10 12:43     ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Geert Uytterhoeven @ 2022-05-10  9:20 UTC (permalink / raw)
  To: Will Deacon
  Cc: Catalin Marinas, Mark Brown, Linux ARM, Linux Kernel Mailing List

Hi Will,

On Tue, May 10, 2022 at 11:15 AM Will Deacon <will@kernel.org> wrote:
> On Mon, May 09, 2022 at 03:40:30PM +0200, Geert Uytterhoeven wrote:
> > The help text for the config option to enable support for the ARM
> > Scalable Matrix Extension does not mention the specification baseline
> > for this extension.  Make it clear this is an extension for the ARMv9-A
> > architecture, so users know when it is safe to disable this option,
> > which is enabled by default.
> >
> > Fixes: a1f4ccd25cc25625 ("arm64/sme: Provide Kconfig for SME")
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -1964,9 +1964,9 @@ config ARM64_SME
> >       default y
> >       depends on ARM64_SVE
> >       help
> > -       The Scalable Matrix Extension (SME) is an extension to the AArch64
> > -       execution state which utilises a substantial subset of the SVE
> > -       instruction set, together with the addition of new architectural
> > +       The Scalable Matrix Extension (SME) is an ARMv9-A extension to the
> > +       AArch64 execution state which utilises a substantial subset of the
> > +       SVE instruction set, together with the addition of new architectural
>
> Why is this useful information? The v9 vs v8 distinction is purely a

Because I tend to disable support for extensions that are not present
in Renesas SoCs in the (local) renesas_defconfig.
If it's ARMv9, I know it's not present in e.g. Cortex-A57 or A-76.

> marketing thing, so I'd be _very_ wary of drawing any technical conclusions
> based on that, especially as Arm have a track record for "backporting"
> features into older CPUs if there is demand for it. Do you know what the
> toolchains have done here? (i.e. is there march=armv9-a or can you do
> march=armv8-a+sme or something else?).

I have no idea.  This option doesn't seem to control any compiler
flags?

> Having said all that, we do already have the Kconfig menu entries for "Armv8.x
> architectural features", so adding one for "Armv9" would be consistent with
> that if you really want it.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A
  2022-05-10  9:20   ` Geert Uytterhoeven
@ 2022-05-10 12:43     ` Mark Brown
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2022-05-10 12:43 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Will Deacon, Catalin Marinas, Linux ARM, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1502 bytes --]

On Tue, May 10, 2022 at 11:20:40AM +0200, Geert Uytterhoeven wrote:
> On Tue, May 10, 2022 at 11:15 AM Will Deacon <will@kernel.org> wrote:
> > On Mon, May 09, 2022 at 03:40:30PM +0200, Geert Uytterhoeven wrote:

> > > +       The Scalable Matrix Extension (SME) is an ARMv9-A extension to the
> > > +       AArch64 execution state which utilises a substantial subset of the
> > > +       SVE instruction set, together with the addition of new architectural

> > Why is this useful information? The v9 vs v8 distinction is purely a

> Because I tend to disable support for extensions that are not present
> in Renesas SoCs in the (local) renesas_defconfig.
> If it's ARMv9, I know it's not present in e.g. Cortex-A57 or A-76.

Like Will says the versioning information is a shaky way of figuring
that out, especially with a feature like SME which is intended to be
totally optional.  Even once you have v9 systems you're still going to
need to look at the specific systems to figure out what's implemented in
your specific silicon.

> > marketing thing, so I'd be _very_ wary of drawing any technical conclusions
> > based on that, especially as Arm have a track record for "backporting"
> > features into older CPUs if there is demand for it. Do you know what the
> > toolchains have done here? (i.e. is there march=armv9-a or can you do
> > march=armv8-a+sme or something else?).

> I have no idea.  This option doesn't seem to control any compiler
> flags?

GCC does have armv9-a, not cheked clang.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-05-10 12:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-09 13:40 [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A Geert Uytterhoeven
2022-05-09 15:35 ` Mark Brown
2022-05-10  8:08   ` Geert Uytterhoeven
2022-05-10  9:15 ` Will Deacon
2022-05-10  9:20   ` Geert Uytterhoeven
2022-05-10 12:43     ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).