OSDN Git Service

riscv, bpf: Factor out emit_call for kernel and bpf context
authorPu Lehui <pulehui@huawei.com>
Wed, 15 Feb 2023 13:52:03 +0000 (21:52 +0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 17 Feb 2023 20:45:30 +0000 (21:45 +0100)
commit0fd1fd0104954380477353aea29c347e85dff16d
tree347bd2795977125923c003b13953166a0989786c
parent5e57fb7b0bd3ea7e994ef1c0ab3562d1fe0676b2
riscv, bpf: Factor out emit_call for kernel and bpf context

The current emit_call function is not suitable for kernel function call as
it store return value to bpf R0 register. We can separate it out for common
use. Meanwhile, simplify judgment logic, that is, fixed function address
can use jal or auipc+jalr, while the unfixed can use only auipc+jalr.

Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Tested-by: Björn Töpel <bjorn@rivosinc.com>
Acked-by: Björn Töpel <bjorn@rivosinc.com>
Link: https://lore.kernel.org/bpf/20230215135205.1411105-3-pulehui@huaweicloud.com
arch/riscv/net/bpf_jit_comp64.c