[PATCH v2 0/4] powerpc64/bpf: Add support for instruction array and indirect jump
Venkat Rao Bagalkote
venkat88 at linux.ibm.com
Tue Mar 3 16:12:42 AEDT 2026
On 27/02/26 8:58 pm, Venkat wrote:
>
>> 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
Please ignore my last results. Refer the below.
# ./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: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
Tested-by: Venkat Rao Bagalkote <venkat88 at linux.ibm.com>
Regards,
Venkat.
> 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