From: Abhishek Dubey <[email protected]> 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/[email protected] 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/[email protected] [v1]: https://lore.kernel.org/bpf/[email protected] 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
