[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