592432862c
To check whether the CPU and kernel support the MTE features we want to test, we use an (emulated) CPU ID register read. However we only check against a very particular feature version (0b0010), even though the ARM ARM promises ID register features to be backwards compatible. While this could be fixed by using ">=" instead of "==", we should actually use the explicit HWCAP2_MTE hardware capability, exposed by the kernel via the ELF auxiliary vectors. That moves this responsibility to the kernel, and fixes running the tests on machines with FEAT_MTE3 capability. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Mark Brown <broone@kernel.org> Link: https://lore.kernel.org/r/20210319165334.29213-7-andre.przywara@arm.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
KSelfTest ARM64 =============== - These tests are arm64 specific and so not built or run but just skipped completely when env-variable ARCH is found to be different than 'arm64' and `uname -m` reports other than 'aarch64'. - Holding true the above, ARM64 KSFT tests can be run within the KSelfTest framework using standard Linux top-level-makefile targets: $ make TARGETS=arm64 kselftest-clean $ make TARGETS=arm64 kselftest or $ make -C tools/testing/selftests TARGETS=arm64 \ INSTALL_PATH=<your-installation-path> install or, alternatively, only specific arm64/ subtargets can be picked: $ make -C tools/testing/selftests TARGETS=arm64 ARM64_SUBTARGETS="tags signal" \ INSTALL_PATH=<your-installation-path> install Further details on building and running KFST can be found in: Documentation/dev-tools/kselftest.rst