diff options
author | Zenghui Yu <yuzenghui@huawei.com> | 2022-12-18 12:29:42 +0300 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2023-01-20 20:54:50 +0300 |
commit | daac835347a52d9d141be281e4657cc08a360e97 (patch) | |
tree | a1ed621868703f9771f21c7669bba6f9e4394fd6 /tools | |
parent | 00598857e38f56963116a6d70f7d64a29959bce9 (diff) | |
download | linux-daac835347a52d9d141be281e4657cc08a360e97.tar.xz |
kselftest/arm64: Correct buffer size for SME ZA storage
It looks like a copy-paste error to describe the ZA buffer size using (the
number of P registers * the maximum size of a Z register). This doesn't
have practical impact though as we're always allocating enough space even
for the architectural maximum ZA storage, with SVL equals to 2048 bits.
Switch to use ZA_SIG_REGS_SIZE(SVE_VQ_MAX). setup_za() will need to
initialize two 64MB arraies with this change and can be optimized later (if
someone complain).
Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20221218092942.1940-2-yuzenghui@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/arm64/abi/syscall-abi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/testing/selftests/arm64/abi/syscall-abi.c b/tools/testing/selftests/arm64/abi/syscall-abi.c index 01aea12ea252..834616fde23e 100644 --- a/tools/testing/selftests/arm64/abi/syscall-abi.c +++ b/tools/testing/selftests/arm64/abi/syscall-abi.c @@ -300,8 +300,8 @@ static int check_svcr(struct syscall_cfg *cfg, int sve_vl, int sme_vl, return errors; } -uint8_t za_in[SVE_NUM_PREGS * __SVE_ZREG_SIZE(SVE_VQ_MAX)]; -uint8_t za_out[SVE_NUM_PREGS * __SVE_ZREG_SIZE(SVE_VQ_MAX)]; +uint8_t za_in[ZA_SIG_REGS_SIZE(SVE_VQ_MAX)]; +uint8_t za_out[ZA_SIG_REGS_SIZE(SVE_VQ_MAX)]; static void setup_za(struct syscall_cfg *cfg, int sve_vl, int sme_vl, uint64_t svcr) |