On 05/08/26 11:37 am, Saket Kumar Bhaskar wrote:
From: Abhishek Dubey <[email protected]>


This patch enables arch specifier "__powerpc64" in verifier

s/This patch enables arch specifier "__powerpc64" in/Enable "__arch_powerpc64" specifier in/


selftest for ppc64. Power 32-bit would require separate
handling. Changes tested for 64-bit only.

Signed-off-by: Abhishek Dubey <[email protected]>
Signed-off-by: Saket Kumar Bhaskar <[email protected]>
Reviewed-by: Hari Bathini <[email protected]>
Tested-by: Yeswanth Krishna Tellakula <[email protected]>
---
  tools/testing/selftests/bpf/progs/bpf_misc.h | 1 +
  tools/testing/selftests/bpf/test_loader.c    | 5 +++++
  2 files changed, 6 insertions(+)

diff --git a/tools/testing/selftests/bpf/progs/bpf_misc.h 
b/tools/testing/selftests/bpf/progs/bpf_misc.h
index b0c441384f20..365008d1ed40 100644
--- a/tools/testing/selftests/bpf/progs/bpf_misc.h
+++ b/tools/testing/selftests/bpf/progs/bpf_misc.h
@@ -159,6 +159,7 @@
  #define __arch_riscv64                __arch("RISCV64")
  #define __arch_s390x          __arch("s390x")
  #define __arch_loongarch      __arch("LOONGARCH")
+#define __arch_powerpc64       __arch("POWERPC64")
  #define __caps_unpriv(caps)   __test_tag("test_caps_unpriv=" 
EXPAND_QUOTE(caps))
  #define __load_if_JITed()     __test_tag("load_mode=jited")
  #define __load_if_no_JITed()  __test_tag("load_mode=no_jited")
diff --git a/tools/testing/selftests/bpf/test_loader.c 
b/tools/testing/selftests/bpf/test_loader.c
index 3ce32d134e2c..01b1420097d2 100644
--- a/tools/testing/selftests/bpf/test_loader.c
+++ b/tools/testing/selftests/bpf/test_loader.c
@@ -378,6 +378,7 @@ enum arch {
        ARCH_RISCV64    = 0x8,
        ARCH_S390X      = 0x10,
        ARCH_LOONGARCH  = 0x20,
+       ARCH_POWERPC64  = 0x40,
  };
static int get_current_arch(void)
@@ -392,6 +393,8 @@ static int get_current_arch(void)
        return ARCH_S390X;
  #elif defined(__loongarch__)
        return ARCH_LOONGARCH;
+#elif defined(__powerpc64__)
+       return ARCH_POWERPC64;
  #endif
        return ARCH_UNKNOWN;
  }
@@ -585,6 +588,8 @@ static int parse_test_spec(struct test_loader *tester,
                                arch = ARCH_S390X;
                        } else if (strcmp(val, "LOONGARCH") == 0) {
                                arch = ARCH_LOONGARCH;
+                       } else if (strcmp(val, "POWERPC64") == 0) {
+                               arch = ARCH_POWERPC64;
                        } else {
                                PRINT_FAIL("bad arch spec: '%s'\n", val);
                                err = -EINVAL;


Reply via email to