[bpf-next PATCH 0/2] bpf, riscv: Add BPF stack arguments support for RV64 JIT

Feng Jiang <[email protected]>
Newsgroups dev.linux.lists.llvm,org.infradead.lists.linux-riscv,org.kernel.vger.bpf,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest
Message-ID <[email protected]>
Port the BPF stack argument feature (BPF_REG_PARAMS / r11) to the
RV64 JIT, matching what x86 and arm64 already do.

BPF-to-BPF calls keep all extra arguments on the stack.  For kfunc
calls, the JIT loads arguments 6-8 into A5-A7 at the call site to
satisfy the RISC-V C calling convention.

Tested on riscv64 QEMU with LLVM main [1]; BPF-to-BPF and kfunc
selftests pass.

[1] https://github.com/llvm/llvm-project/pull/189060

Signed-off-by: Feng Jiang <[email protected]>
---
Feng Jiang (2):
      bpf, riscv: Add BPF stack arguments support for RV64 JIT
      selftests/bpf: Enable stack argument tests for riscv

 arch/riscv/net/bpf_jit.h                           |  1 +
 arch/riscv/net/bpf_jit_comp64.c                    | 75 +++++++++++++++++++++-
 arch/riscv/net/bpf_jit_core.c                      |  4 ++
 .../selftests/bpf/progs/btf__stack_arg_precision.c |  2 +-
 .../bpf/progs/btf__verifier_stack_arg_order.c      |  2 +-
 tools/testing/selftests/bpf/progs/exceptions.c     |  2 +-
 tools/testing/selftests/bpf/progs/stack_arg.c      |  2 +-
 .../testing/selftests/bpf/progs/stack_arg_kfunc.c  |  2 +-
 .../selftests/bpf/progs/stack_arg_precision.c      |  2 +-
 .../selftests/bpf/progs/verifier_stack_arg.c       |  2 +-
 .../selftests/bpf/progs/verifier_stack_arg_order.c |  2 +-
 11 files changed, 85 insertions(+), 11 deletions(-)
---
base-commit: d114bb98936770c501c958bf2bc5fb6b7c0bad7b
change-id: 20260728-bpf-riscv-stack-args-6350d066a1e9

Best regards,
-- 
Feng Jiang <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.