kselftest/arm64: Add streaming SVE to SVE ptrace tests
authorMark Brown <broonie@kernel.org>
Tue, 19 Apr 2022 11:22:44 +0000 (12:22 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 28 Apr 2022 16:57:12 +0000 (17:57 +0100)
In order to allow ptrace of streaming mode SVE registers we have added a
new regset for streaming mode which in isolation offers the same ABI as
regular SVE with a different vector type. Add this to the array of regsets
we handle, together with additional tests for the interoperation of the
two regsets.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220419112247.711548-37-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
tools/testing/selftests/arm64/fp/sve-ptrace.c

index 36b6f07..8c48479 100644 (file)
 #define NT_ARM_SVE 0x405
 #endif
 
+#ifndef NT_ARM_SSVE
+#define NT_ARM_SSVE 0x40b
+#endif
+
 struct vec_type {
        const char *name;
        unsigned long hwcap_type;
@@ -42,6 +46,13 @@ static const struct vec_type vec_types[] = {
                .regset = NT_ARM_SVE,
                .prctl_set = PR_SVE_SET_VL,
        },
+       {
+               .name = "Streaming SVE",
+               .hwcap_type = AT_HWCAP2,
+               .hwcap = HWCAP2_SME,
+               .regset = NT_ARM_SSVE,
+               .prctl_set = PR_SME_SET_VL,
+       },
 };
 
 #define VL_TESTS (((SVE_VQ_MAX - SVE_VQ_MIN) + 1) * 4)