commit | 6801b0aef79db475591c3146a701ea373e4663b7 | [log] [tgz] |
---|---|---|
author | Pu Lehui <pulehui@huawei.com> | Tue Jul 02 12:19:42 2024 +0000 |
committer | Daniel Borkmann <daniel@iogearbox.net> | Tue Jul 02 16:01:30 2024 +0200 |
tree | c4206e768f3df2d3ae3a2966101275a4813c2f56 | |
parent | e4a195e2b95e4602c667ed19a20f71218df138c2 [diff] |
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 [0] Link: https://elixir.bootlin.com/linux/v6.8/source/kernel/bpf/btf.c#L6769 [1] Link: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/releases/download/draft-20230929-e5c800e661a53efe3c2678d71a306323b60eb13b/riscv-abi.pdf [2] Link: https://lore.kernel.org/bpf/20240702121944.1091530-2-pulehui@huaweicloud.com