[PATCH v2 0/4] powerpc64/bpf: Add support for instruction array and indirect jump
Venkat
venkat88 at linux.ibm.com
Sat Feb 28 02:28:29 AEDT 2026
> On 27 Feb 2026, at 7:13 AM, adubey at linux.ibm.com wrote:
>
> 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 features will be enabled on ppc32 in a separate series.
>
> The patch series is rebased over:
> https://lore.kernel.org/bpf/20260226031324.17352-1-adubey@linux.ibm.com
>
> All selftest related to instruction array and indirect jump
> are passing.
>
> ./test_progs-cpuv4 -n 20
> #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
>
> ./test_progs-cpuv4 -n 21
> #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Â Â Â Â Â bpf_gotox:OK
> Summary: 1/11 PASSED, 0 SKIPPED, 0 FAILED
>
> v1->v2:
> Handle image offset for ABIv1
>
> [v1]: https://lore.kernel.org/bpf/20260225010950.20218-1-adubey@linux.ibm.com
>
> Abhishek Dubey (4):
> powerpc64/bpf: Add support for instruction array
> selftest/bpf: Enable instruction array test for powerpc64
> powerpc64/bpf: Add support for indirect jump
> selftest/bpf: Enable gotox tests for powerpc64
>
> arch/powerpc/net/bpf_jit_comp.c | 10 ++++++++++
> arch/powerpc/net/bpf_jit_comp64.c | 8 ++++++++
> .../testing/selftests/bpf/prog_tests/bpf_insn_array.c | 2 +-
> tools/testing/selftests/bpf/progs/verifier_gotox.c | 4 ++--
> 4 files changed, 21 insertions(+), 3 deletions(-)
>
> --
> 2.52.0
Tested-by: Venkat Rao Bagalkote <venkat88 at linux.ibm.com>
Tested this series and below are the results.
./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
./test_progs-cpuv4 -n 20
#20/1 bpf_gotox/one-switch:SKIP
#20/2 bpf_gotox/one-switch-non-zero-sec-offset:SKIP
#20/3 bpf_gotox/two-switches:SKIP
#20/4 bpf_gotox/big-jump-table:SKIP
#20/5 bpf_gotox/static-global:SKIP
#20/6 bpf_gotox/nonstatic-global:SKIP
#20/7 bpf_gotox/other-sec:SKIP
#20/8 bpf_gotox/static-global-other-sec:SKIP
#20/9 bpf_gotox/nonstatic-global-other-sec:SKIP
#20/10 bpf_gotox/one-jump-two-maps:SKIP
#20/11 bpf_gotox/one-map-two-jumps:SKIP
#20/12 bpf_gotox/check-ldimm64-off:SKIP
#20/13 bpf_gotox/check-ldimm64-off-gotox:SKIP
#20 bpf_gotox:SKIP
Summary: 1/0 PASSED, 13 SKIPPED, 0 FAILED
Regards,
Venkat.
More information about the Linuxppc-dev
mailing list