[PATCH v3 0/4] powerpc/bpf: Add support for instruction array and indirect jump
adubey at linux.ibm.com
adubey at linux.ibm.com
Thu Apr 2 02:21:29 AEDT 2026
From: Abhishek Dubey <adubey at linux.ibm.com>
The first 2 patch enable support for instruction array. Now, the
instruction offset map maintain the mapping:
original inst -> xlated inst -> jited inst
The last two patch enable support for indirect jump. Any eligile
register can store jump target address for control flow to jump.
The later features will be enabled on ppc32 in a separate series.
The patch series is rebased over:
https://lore.kernel.org/bpf/20260401141043.41513-1-adubey@linux.ibm.com
All selftest related to instruction array and indirect jump
are passing on ppc64.
# ./test_progs-cpuv4 -n 20
#20/1 bpf_gotox/one-switch:OK
#20/2 bpf_gotox/one-switch-non-zero-sec-offset:OK
#20/3 bpf_gotox/two-switches:OK
#20/4 bpf_gotox/big-jump-table:OK
#20/5 bpf_gotox/static-global:OK
#20/6 bpf_gotox/nonstatic-global:OK
#20/7 bpf_gotox/other-sec:OK
#20/8 bpf_gotox/static-global-other-sec:OK
#20/9 bpf_gotox/nonstatic-global-other-sec:OK
#20/10 bpf_gotox/one-jump-two-maps:OK
#20/11 bpf_gotox/one-map-two-jumps:OK
#20/12 bpf_gotox/check-ldimm64-off:OK
#20/13 bpf_gotox/check-ldimm64-off-gotox:OK
#20 bpf_gotox:OK
Summary: 1/13 PASSED, 0 SKIPPED, 0 FAILED
# ./test_progs-cpuv4 -n 21
#21/1 bpf_insn_array/one2one:OK
#21/2 bpf_insn_array/simple:OK
#21/3 bpf_insn_array/deletions:OK
#21/4 bpf_insn_array/deletions-with-functions:OK
#21/5 bpf_insn_array/blindness:OK
#21/6 bpf_insn_array/incorrect-index:OK
#21/7 bpf_insn_array/load-unfrozen-map:OK
#21/8 bpf_insn_array/no-map-reuse:OK
#21/9 bpf_insn_array/bpf-side-ops:OK
#21 bpf_insn_array:OK
Summary: 1/9 PASSED, 0 SKIPPED, 0 FAILED
v2->v3:
Address minor comments
Collecting Tested-by and Acked-by tags
v1->v2:
Handle image offset for ABIv1
[v2]: https://lore.kernel.org/bpf/20260227014315.39980-1-adubey@linux.ibm.com
[v1]: https://lore.kernel.org/bpf/20260225010950.20218-1-adubey@linux.ibm.com
Abhishek Dubey (4):
powerpc/bpf: Add support for instruction array
selftest/bpf: Enable instruction array test for powerpc
powerpc64/bpf: Add support for indirect jump
selftest/bpf: Enable gotox tests for powerpc64
arch/powerpc/net/bpf_jit_comp.c | 7 +++++++
arch/powerpc/net/bpf_jit_comp64.c | 8 ++++++++
tools/testing/selftests/bpf/prog_tests/bpf_insn_array.c | 2 +-
tools/testing/selftests/bpf/progs/verifier_gotox.c | 4 ++--
4 files changed, 18 insertions(+), 3 deletions(-)
--
2.52.0
More information about the Linuxppc-dev
mailing list