Re: [PATCH] arm64: ARM Scalable Matrix Extension is ARMv9-A

From: Geert Uytterhoeven
Date: Tue May 10 2022 - 05:21:03 EST


Hi Will,

On Tue, May 10, 2022 at 11:15 AM Will Deacon <will@xxxxxxxxxx> 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@xxxxxxxxx>

> > --- 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@xxxxxxxxxxxxxx

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