kselftest/arm64: Provide a helper binary and "library" for SVE RDVL
authorMark Brown <broonie@kernel.org>
Tue, 3 Aug 2021 14:04:47 +0000 (15:04 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 3 Aug 2021 15:20:05 +0000 (16:20 +0100)
commit7710861017ac25b9b459f3a7f8f1a3332db9ccbe
treea0538951f577b8811f4a623641fe8597f7bd8b04
parentdac3ce63bffe0ef5c0a3fa9b5f6140b633cbc830
kselftest/arm64: Provide a helper binary and "library" for SVE RDVL

SVE provides an instruction RDVL which reports the currently configured
vector length. In order to validate that our vector length configuration
interfaces are working correctly without having to build the C code for
our test programs with SVE enabled provide a trivial assembly library
with a C callable function that executes RDVL. Since these interfaces
also control behaviour on exec*() provide a trivial wrapper program which
reports the currently configured vector length on stdout, tests can use
this to verify that behaviour on exec*() is as expected.

In preparation for providing similar helper functionality for SME, the
Scalable Matrix Extension, which allows separately configured vector
lengths to be read back both the assembler function and wrapper binary
have SVE included in their name.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Link: https://lore.kernel.org/r/20210803140450.46624-2-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
tools/testing/selftests/arm64/fp/.gitignore
tools/testing/selftests/arm64/fp/Makefile
tools/testing/selftests/arm64/fp/rdvl-sve.c [new file with mode: 0644]
tools/testing/selftests/arm64/fp/rdvl.S [new file with mode: 0644]
tools/testing/selftests/arm64/fp/rdvl.h [new file with mode: 0644]