[bootwrapper PATCH v3 01/15] aarch64: correct ZCR_EL3.LEN initialization
Andre Przywara
andre.przywara at arm.com
Wed Jan 26 07:02:50 PST 2022
On Tue, 25 Jan 2022 15:00:43 +0000
Mark Rutland <mark.rutland at arm.com> wrote:
> The ZCR_ELx.LEN field covers bits[3:0] of ZCR_ELx, and bits[8:4] are
> RAZ/WI, likely so that in future these can be used to extend LEN without
> complicating the probing of the maximum available vector length.
>
> Currently ZCR_EL3_LEN_MASK is defined as 0x1ff, covering both the LEN
> field and the RAZ/WI bits.
>
> To match the architecture as documented, reduce this down to 0xf, only
> covering the bits currently allocated to the LEN field. We can extend
> this in future if the LEN field is widened.
>
> As the same time, rename ZCR_EL3_LEN_MASK to ZCR_EL3_LEN_MAX, as it is
> used as a value rather than as a bit mask.
>
> Signed-off-by: Mark Rutland <mark.rutland at arm.com>
> Cc: Andre Przywara <andre.przywara at arm.com>
> Cc: Mark Brown <broonie at kernel.org>
Looks good to me:
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> ---
> arch/aarch64/boot.S | 2 +-
> arch/aarch64/include/asm/cpu.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S
> index 72c6b79..ee9ddaa 100644
> --- a/arch/aarch64/boot.S
> +++ b/arch/aarch64/boot.S
> @@ -123,7 +123,7 @@ ASM_FUNC(_start)
> msr cptr_el3, x0
> isb
>
> - mov x0, #ZCR_EL3_LEN_MASK // SVE: Enable full vector len
> + mov x0, #ZCR_EL3_LEN_MAX // SVE: Enable full vector len
> msr ZCR_EL3, x0 // for EL2.
>
> 1:
> diff --git a/arch/aarch64/include/asm/cpu.h b/arch/aarch64/include/asm/cpu.h
> index 63eb1c3..e3269b8 100644
> --- a/arch/aarch64/include/asm/cpu.h
> +++ b/arch/aarch64/include/asm/cpu.h
> @@ -30,7 +30,7 @@
> #define CPTR_EL3_EZ (1 << 8)
>
> #define ZCR_EL3 s3_6_c1_c2_0
> -#define ZCR_EL3_LEN_MASK 0x1ff
> +#define ZCR_EL3_LEN_MAX 0xf
>
> #define SCTLR_EL1_CP15BEN (1 << 5)
> #define SCTLR_EL1_RES1 (3 << 28 | 3 << 22 | 1 << 11)
More information about the linux-arm-kernel
mailing list