UPSTREAM: bpf: JIT blinds support JMP32
This patch adds JIT blinds support for JMP32. Like BPF_JMP_REG/IMM, JMP32 version are needed for building raw bpf insn. They are added to both include/linux/filter.h and tools/include/linux/filter.h. Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Change-Id: I86ee0692437ff685811dadfc7bd911ca58aeb4bf Signed-off-by: Jiong Wang <jiong.wang@netronome.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Sorayukii <sorayukii69@gmail.com>
This commit is contained in:
parent
c0a0f3a1a9
commit
c8741b72f2
1 changed files with 61 additions and 0 deletions
|
|
@ -188,6 +188,16 @@
|
|||
.off = OFF, \
|
||||
.imm = 0 })
|
||||
|
||||
/* Like BPF_JMP_REG, but with 32-bit wide operands for comparison. */
|
||||
|
||||
#define BPF_JMP32_REG(OP, DST, SRC, OFF) \
|
||||
((struct bpf_insn) { \
|
||||
.code = BPF_JMP32 | BPF_OP(OP) | BPF_X, \
|
||||
.dst_reg = DST, \
|
||||
.src_reg = SRC, \
|
||||
.off = OFF, \
|
||||
.imm = 0 })
|
||||
|
||||
/* Conditional jumps against immediates, if (dst_reg 'op' imm32) goto pc + off16 */
|
||||
|
||||
#define BPF_JMP_IMM(OP, DST, IMM, OFF) \
|
||||
|
|
@ -198,6 +208,16 @@
|
|||
.off = OFF, \
|
||||
.imm = IMM })
|
||||
|
||||
/* Like BPF_JMP_IMM, but with 32-bit wide operands for comparison. */
|
||||
|
||||
#define BPF_JMP32_IMM(OP, DST, IMM, OFF) \
|
||||
((struct bpf_insn) { \
|
||||
.code = BPF_JMP32 | BPF_OP(OP) | BPF_K, \
|
||||
.dst_reg = DST, \
|
||||
.src_reg = 0, \
|
||||
.off = OFF, \
|
||||
.imm = IMM })
|
||||
|
||||
/* Unconditional jumps, goto pc + off16 */
|
||||
|
||||
#define BPF_JMP_A(OFF) \
|
||||
|
|
|
|||
Loading…
Reference in a new issue