selftests: arm64: Remove extraneous register setting code
authorMark Brown <broonie@kernel.org>
Mon, 13 Sep 2021 12:55:00 +0000 (13:55 +0100)
committerWill Deacon <will@kernel.org>
Wed, 29 Sep 2021 13:40:31 +0000 (14:40 +0100)
For some reason the SVE ptrace test code starts off by setting values in
some of the SVE vector registers in the parent process which it then never
interacts with when verifying the ptrace interfaces. This is not especially
relevant to what's being tested and somewhat confusing when reading the
code so let's remove it.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210913125505.52619-4-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
tools/testing/selftests/arm64/fp/Makefile
tools/testing/selftests/arm64/fp/sve-ptrace-asm.S [deleted file]
tools/testing/selftests/arm64/fp/sve-ptrace.c

index f2abdd6ba12e634a949eab95680be916e84ba8d7..4367125b7c27d0f9bbe149ee24873763e7c8388c 100644 (file)
@@ -12,7 +12,7 @@ all: $(TEST_GEN_PROGS) $(TEST_PROGS_EXTENDED)
 fpsimd-test: fpsimd-test.o
        $(CC) -nostdlib $^ -o $@
 rdvl-sve: rdvl-sve.o rdvl.o
-sve-ptrace: sve-ptrace.o sve-ptrace-asm.o
+sve-ptrace: sve-ptrace.o
 sve-probe-vls: sve-probe-vls.o rdvl.o
 sve-test: sve-test.o
        $(CC) -nostdlib $^ -o $@
diff --git a/tools/testing/selftests/arm64/fp/sve-ptrace-asm.S b/tools/testing/selftests/arm64/fp/sve-ptrace-asm.S
deleted file mode 100644 (file)
index 3e81f9f..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-// Copyright (C) 2015-2019 ARM Limited.
-// Original author: Dave Martin <Dave.Martin@arm.com>
-#include <asm/unistd.h>
-
-.arch_extension sve
-
-.globl sve_store_patterns
-
-sve_store_patterns:
-       mov     x1, x0
-
-       index   z0.b, #0, #1
-       str     q0, [x1]
-
-       mov     w8, #__NR_getpid
-       svc     #0
-       str     q0, [x1, #0x10]
-
-       mov     z1.d, z0.d
-       str     q0, [x1, #0x20]
-
-       mov     w8, #__NR_getpid
-       svc     #0
-       str     q0, [x1, #0x30]
-
-       mov     z1.d, z0.d
-       str     q0, [x1, #0x40]
-
-       ret
-
-.size  sve_store_patterns, . - sve_store_patterns
-.type  sve_store_patterns, @function
index 7035f01423b33d235cac95b67876c26d0a7335a0..d2ec48f649f9f1802a6c5bbe65f3b1cdef76235e 100644 (file)
 #define NT_ARM_SVE 0x405
 #endif
 
-/* Number of registers filled in by sve_store_patterns */
-#define NR_VREGS 5
-
-void sve_store_patterns(__uint128_t v[NR_VREGS]);
-
 static void dump(const void *buf, size_t size)
 {
        size_t i;
@@ -40,23 +35,6 @@ static void dump(const void *buf, size_t size)
                printf(" %.2x", *p++);
 }
 
-static int check_vregs(const __uint128_t vregs[NR_VREGS])
-{
-       int i;
-       int ok = 1;
-
-       for (i = 0; i < NR_VREGS; ++i) {
-               printf("# v[%d]:", i);
-               dump(&vregs[i], sizeof vregs[i]);
-               putchar('\n');
-
-               if (vregs[i] != vregs[0])
-                       ok = 0;
-       }
-
-       return ok;
-}
-
 static int do_child(void)
 {
        if (ptrace(PTRACE_TRACEME, -1, NULL, NULL))
@@ -309,7 +287,6 @@ disappeared:
 int main(void)
 {
        int ret = EXIT_SUCCESS;
-       __uint128_t v[NR_VREGS];
        pid_t child;
 
        ksft_print_header();
@@ -318,11 +295,6 @@ int main(void)
        if (!(getauxval(AT_HWCAP) & HWCAP_SVE))
                ksft_exit_skip("SVE not available\n");
 
-       sve_store_patterns(v);
-
-       if (!check_vregs(v))
-               ksft_exit_fail_msg("Initial check_vregs() failed\n");
-
        child = fork();
        if (!child)
                return do_child();