* [PATCH] arm64/sve: Document firmware support requirements in Kconfig
@ 2018-03-21 11:54 Dave Martin
2018-03-23 17:12 ` Catalin Marinas
2018-03-23 17:27 ` Suzuki K Poulose
0 siblings, 2 replies; 5+ messages in thread
From: Dave Martin @ 2018-03-21 11:54 UTC (permalink / raw)
To: linux-arm-kernel
Use of SVE by EL2 and below requires explicit support in the
firmware. There is no means to hide the presence of SVE from EL2,
so a kernel configured with CONFIG_ARM64_SVE=y will typically not
work correctly on SVE capable hardware unless the firmware does
include the appropriate support.
This is not expected to pose a problem in the wild, since platform
integrators are responsible for ensuring that they ship up-to-date
firmware to support their hardware. However, developers may hit
the issue when using mismatched compoments.
In order to draw attention to the issue and how to solve it, this
patch adds some Kconfig text giving a brief explanation and details
of compatible firmware versions.
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
---
No functional change, but it would be good to get this explanatory text
merged since developers who try Linux on SVE-enabled models may hit
this problem, and fixed versions of ARM TF and the bootwrapper are now
available.
arch/arm64/Kconfig | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 7381eeb..e6fa47b 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1104,6 +1104,23 @@ config ARM64_SVE
To enable use of this extension on CPUs that implement it, say Y.
+ Note that for architectural reasons, firmware _must_ implement SVE
+ support when running on SVE capable hardware. The required support
+ is present in:
+
+ * version 1.5 and later of the ARM Trusted Firmware
+ * the AArch64 boot wrapper since commit 5e1261e08abf
+ ("bootwrapper: SVE: Enable SVE for EL2 and below").
+
+ For other firmware implementations, consult the firware documentation
+ or vendor.
+
+ If you need the kernel to boot on SVE-capable hardware with broken
+ firmware, you may need to say N here until you get your firmware
+ fixed. Otherwise, you may experience firmware panics or lockups when
+ booting the kernel. If unsure and you are not observing these
+ symptoms, you should assume that it is safe to say Y.
+
config ARM64_MODULE_CMODEL_LARGE
bool
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] arm64/sve: Document firmware support requirements in Kconfig
2018-03-21 11:54 [PATCH] arm64/sve: Document firmware support requirements in Kconfig Dave Martin
@ 2018-03-23 17:12 ` Catalin Marinas
2018-03-23 17:39 ` Dave Martin
2018-03-23 17:27 ` Suzuki K Poulose
1 sibling, 1 reply; 5+ messages in thread
From: Catalin Marinas @ 2018-03-23 17:12 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Mar 21, 2018 at 11:54:49AM +0000, Dave P Martin wrote:
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 7381eeb..e6fa47b 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1104,6 +1104,23 @@ config ARM64_SVE
>
> To enable use of this extension on CPUs that implement it, say Y.
>
> + Note that for architectural reasons, firmware _must_ implement SVE
> + support when running on SVE capable hardware. The required support
> + is present in:
> +
> + * version 1.5 and later of the ARM Trusted Firmware
> + * the AArch64 boot wrapper since commit 5e1261e08abf
> + ("bootwrapper: SVE: Enable SVE for EL2 and below").
> +
> + For other firmware implementations, consult the firware documentation
> + or vendor.
> +
> + If you need the kernel to boot on SVE-capable hardware with broken
> + firmware, you may need to say N here until you get your firmware
> + fixed. Otherwise, you may experience firmware panics or lockups when
> + booting the kernel. If unsure and you are not observing these
> + symptoms, you should assume that it is safe to say Y.
It's a shame that we can't detect this architecturally but the
alternative would be to ask the firmware to describe the presence of SVE
via DT or ACPI (which I don't particularly like since it's a CPU feature
rather than an SoC one).
I'm personally fine with the warning in Kconfig.
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] arm64/sve: Document firmware support requirements in Kconfig
2018-03-21 11:54 [PATCH] arm64/sve: Document firmware support requirements in Kconfig Dave Martin
2018-03-23 17:12 ` Catalin Marinas
@ 2018-03-23 17:27 ` Suzuki K Poulose
2018-03-23 17:36 ` Dave Martin
1 sibling, 1 reply; 5+ messages in thread
From: Suzuki K Poulose @ 2018-03-23 17:27 UTC (permalink / raw)
To: linux-arm-kernel
On 21/03/18 11:54, Dave Martin wrote:
> Use of SVE by EL2 and below requires explicit support in the
> firmware. There is no means to hide the presence of SVE from EL2,
> so a kernel configured with CONFIG_ARM64_SVE=y will typically not
> work correctly on SVE capable hardware unless the firmware does
> include the appropriate support.
>
> This is not expected to pose a problem in the wild, since platform
> integrators are responsible for ensuring that they ship up-to-date
> firmware to support their hardware. However, developers may hit
> the issue when using mismatched compoments.
>
> In order to draw attention to the issue and how to solve it, this
> patch adds some Kconfig text giving a brief explanation and details
> of compatible firmware versions.
>
> Signed-off-by: Dave Martin <Dave.Martin@arm.com>
> ---
>
> No functional change, but it would be good to get this explanatory text
> merged since developers who try Linux on SVE-enabled models may hit
> this problem, and fixed versions of ARM TF and the bootwrapper are now
> available.
>
> arch/arm64/Kconfig | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 7381eeb..e6fa47b 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1104,6 +1104,23 @@ config ARM64_SVE
>
> To enable use of this extension on CPUs that implement it, say Y.
>
> + Note that for architectural reasons, firmware _must_ implement SVE
> + support when running on SVE capable hardware. The required support
> + is present in:
> +
> + * version 1.5 and later of the ARM Trusted Firmware
> + * the AArch64 boot wrapper since commit 5e1261e08abf
> + ("bootwrapper: SVE: Enable SVE for EL2 and below").
> +
> + For other firmware implementations, consult the firware documentation
minor nit: s/firware/firmware/
Suzuki
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] arm64/sve: Document firmware support requirements in Kconfig
2018-03-23 17:27 ` Suzuki K Poulose
@ 2018-03-23 17:36 ` Dave Martin
0 siblings, 0 replies; 5+ messages in thread
From: Dave Martin @ 2018-03-23 17:36 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Mar 23, 2018 at 05:27:32PM +0000, Suzuki K Poulose wrote:
> On 21/03/18 11:54, Dave Martin wrote:
> >Use of SVE by EL2 and below requires explicit support in the
> >firmware. There is no means to hide the presence of SVE from EL2,
> >so a kernel configured with CONFIG_ARM64_SVE=y will typically not
> >work correctly on SVE capable hardware unless the firmware does
> >include the appropriate support.
> >
> >This is not expected to pose a problem in the wild, since platform
> >integrators are responsible for ensuring that they ship up-to-date
> >firmware to support their hardware. However, developers may hit
> >the issue when using mismatched compoments.
> >
> >In order to draw attention to the issue and how to solve it, this
> >patch adds some Kconfig text giving a brief explanation and details
> >of compatible firmware versions.
> >
> >Signed-off-by: Dave Martin <Dave.Martin@arm.com>
> >---
> >
> >No functional change, but it would be good to get this explanatory text
> >merged since developers who try Linux on SVE-enabled models may hit
> >this problem, and fixed versions of ARM TF and the bootwrapper are now
> >available.
> >
> > arch/arm64/Kconfig | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> >diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> >index 7381eeb..e6fa47b 100644
> >--- a/arch/arm64/Kconfig
> >+++ b/arch/arm64/Kconfig
> >@@ -1104,6 +1104,23 @@ config ARM64_SVE
> > To enable use of this extension on CPUs that implement it, say Y.
> >+ Note that for architectural reasons, firmware _must_ implement SVE
> >+ support when running on SVE capable hardware. The required support
> >+ is present in:
> >+
> >+ * version 1.5 and later of the ARM Trusted Firmware
> >+ * the AArch64 boot wrapper since commit 5e1261e08abf
> >+ ("bootwrapper: SVE: Enable SVE for EL2 and below").
> >+
> >+ For other firmware implementations, consult the firware documentation
>
> minor nit: s/firware/firmware/
Thanks, I'll repost with that fixed.
Cheers
---Dave
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] arm64/sve: Document firmware support requirements in Kconfig
2018-03-23 17:12 ` Catalin Marinas
@ 2018-03-23 17:39 ` Dave Martin
0 siblings, 0 replies; 5+ messages in thread
From: Dave Martin @ 2018-03-23 17:39 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Mar 23, 2018 at 05:12:34PM +0000, Catalin Marinas wrote:
> On Wed, Mar 21, 2018 at 11:54:49AM +0000, Dave P Martin wrote:
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index 7381eeb..e6fa47b 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -1104,6 +1104,23 @@ config ARM64_SVE
> >
> > To enable use of this extension on CPUs that implement it, say Y.
> >
> > + Note that for architectural reasons, firmware _must_ implement SVE
> > + support when running on SVE capable hardware. The required support
> > + is present in:
> > +
> > + * version 1.5 and later of the ARM Trusted Firmware
> > + * the AArch64 boot wrapper since commit 5e1261e08abf
> > + ("bootwrapper: SVE: Enable SVE for EL2 and below").
> > +
> > + For other firmware implementations, consult the firware documentation
> > + or vendor.
> > +
> > + If you need the kernel to boot on SVE-capable hardware with broken
> > + firmware, you may need to say N here until you get your firmware
> > + fixed. Otherwise, you may experience firmware panics or lockups when
> > + booting the kernel. If unsure and you are not observing these
> > + symptoms, you should assume that it is safe to say Y.
>
> It's a shame that we can't detect this architecturally but the
> alternative would be to ask the firmware to describe the presence of SVE
> via DT or ACPI (which I don't particularly like since it's a CPU feature
> rather than an SoC one).
That was my view also. We could have done that, but it would set an
undesirable precedent, given that this shouldn't apply to real
platforms.
We could revisit this later if necessary.
> I'm personally fine with the warning in Kconfig.
>
> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Thanks, I'll repost with the typo fix pointed out by Suzuki.
Cheers
---Dave
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-03-23 17:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-21 11:54 [PATCH] arm64/sve: Document firmware support requirements in Kconfig Dave Martin
2018-03-23 17:12 ` Catalin Marinas
2018-03-23 17:39 ` Dave Martin
2018-03-23 17:27 ` Suzuki K Poulose
2018-03-23 17:36 ` Dave Martin
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).