]> www.infradead.org Git - users/jedix/linux-maple.git/commit
riscv, bpf: Add 12-argument support for RV64 bpf trampoline
authorPu Lehui <pulehui@huawei.com>
Tue, 2 Jul 2024 12:19:42 +0000 (12:19 +0000)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 2 Jul 2024 14:01:30 +0000 (16:01 +0200)
commit6801b0aef79db475591c3146a701ea373e4663b7
treec4206e768f3df2d3ae3a2966101275a4813c2f56
parente4a195e2b95e4602c667ed19a20f71218df138c2
riscv, bpf: Add 12-argument support for RV64 bpf trampoline

This patch adds 12 function arguments support for riscv64 bpf trampoline.
The current bpf trampoline supports <= sizeof(u64) bytes scalar arguments [0]
and <= 16 bytes struct arguments [1]. Therefore, we focus on the situation
where scalars are at most XLEN bits and aggregates whose total size does not
exceed 2×XLEN bits in the riscv calling convention [2].

Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Björn Töpel <bjorn@rivosinc.com>
Acked-by: Björn Töpel <bjorn@kernel.org>
Acked-by: Puranjay Mohan <puranjay@kernel.org>
Link: https://elixir.bootlin.com/linux/v6.8/source/kernel/bpf/btf.c#L6184
Link: https://elixir.bootlin.com/linux/v6.8/source/kernel/bpf/btf.c#L6769
Link: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/releases/download/draft-20230929-e5c800e661a53efe3c2678d71a306323b60eb13b/riscv-abi.pdf
Link: https://lore.kernel.org/bpf/20240702121944.1091530-2-pulehui@huaweicloud.com
arch/riscv/net/bpf_jit_comp64.c