]> www.infradead.org Git - users/hch/misc.git/commitdiff
selftests/bpf: Add __arch_s390x macro
authorIlya Leoshkevich <iii@linux.ibm.com>
Thu, 21 Aug 2025 11:25:57 +0000 (13:25 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 26 Aug 2025 23:51:52 +0000 (16:51 -0700)
Make it possible to limit certain tests to s390x, just like it's
already done for x86_64, arm64, and riscv64.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Link: https://lore.kernel.org/r/20250821113339.292434-4-iii@linux.ibm.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/bpf_misc.h
tools/testing/selftests/bpf/test_loader.c

index c1cfd297aabf11248c811d21b201be413f957fee..72c2d72a245e5b7090ff751a266d632772683691 100644 (file)
 #define __arch_x86_64          __arch("X86_64")
 #define __arch_arm64           __arch("ARM64")
 #define __arch_riscv64         __arch("RISCV64")
+#define __arch_s390x           __arch("s390x")
 #define __caps_unpriv(caps)    __attribute__((btf_decl_tag("comment:test_caps_unpriv=" EXPAND_QUOTE(caps))))
 #define __load_if_JITed()      __attribute__((btf_decl_tag("comment:load_mode=jited")))
 #define __load_if_no_JITed()   __attribute__((btf_decl_tag("comment:load_mode=no_jited")))
index e1987d1959fd89264e3ff2fbeff87012a9814d59..a9388ac88358714f0d914fbaf3adb9fd238e7491 100644 (file)
@@ -374,6 +374,7 @@ enum arch {
        ARCH_X86_64     = 0x2,
        ARCH_ARM64      = 0x4,
        ARCH_RISCV64    = 0x8,
+       ARCH_S390X      = 0x10,
 };
 
 static int get_current_arch(void)
@@ -384,6 +385,8 @@ static int get_current_arch(void)
        return ARCH_ARM64;
 #elif defined(__riscv) && __riscv_xlen == 64
        return ARCH_RISCV64;
+#elif defined(__s390x__)
+       return ARCH_S390X;
 #endif
        return ARCH_UNKNOWN;
 }
@@ -565,6 +568,8 @@ static int parse_test_spec(struct test_loader *tester,
                                arch = ARCH_ARM64;
                        } else if (strcmp(val, "RISCV64") == 0) {
                                arch = ARCH_RISCV64;
+                       } else if (strcmp(val, "s390x") == 0) {
+                               arch = ARCH_S390X;
                        } else {
                                PRINT_FAIL("bad arch spec: '%s'\n", val);
                                err = -EINVAL;