Lines Matching refs:insn
192 struct bpf_insn *insn = bpf_prog->insnsi; in do_jit() local
265 for (i = 0; i < insn_cnt; i++, insn++) { in do_jit()
266 const s32 imm32 = insn->imm; in do_jit()
267 u32 dst_reg = insn->dst_reg; in do_jit()
268 u32 src_reg = insn->src_reg; in do_jit()
275 switch (insn->code) { in do_jit()
287 switch (BPF_OP(insn->code)) { in do_jit()
294 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
316 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
333 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
338 switch (BPF_OP(insn->code)) { in do_jit()
374 if (insn[1].code != 0 || insn[1].src_reg != 0 || in do_jit()
375 insn[1].dst_reg != 0 || insn[1].off != 0) { in do_jit()
383 EMIT(insn[0].imm, 4); in do_jit()
384 EMIT(insn[1].imm, 4); in do_jit()
386 insn++; in do_jit()
402 if (BPF_SRC(insn->code) == BPF_X) in do_jit()
417 if (BPF_SRC(insn->code) == BPF_X) { in do_jit()
437 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
444 if (BPF_OP(insn->code) == BPF_MOD) in do_jit()
468 if (BPF_SRC(insn->code) == BPF_X) in do_jit()
475 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
499 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
504 switch (BPF_OP(insn->code)) { in do_jit()
534 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
539 switch (BPF_OP(insn->code)) { in do_jit()
549 if (insn->dst_reg == BPF_REG_4) in do_jit()
551 EMIT_mov(insn->dst_reg, AUX_REG); in do_jit()
632 st: if (is_imm8(insn->off)) in do_jit()
633 EMIT2(add_1reg(0x40, dst_reg), insn->off); in do_jit()
635 EMIT1_off32(add_1reg(0x80, dst_reg), insn->off); in do_jit()
637 EMIT(imm32, bpf_size_to_x86_bytes(BPF_SIZE(insn->code))); in do_jit()
664 stx: if (is_imm8(insn->off)) in do_jit()
665 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
668 insn->off); in do_jit()
694 if (is_imm8(insn->off)) in do_jit()
695 EMIT2(add_2reg(0x40, src_reg, dst_reg), insn->off); in do_jit()
698 insn->off); in do_jit()
711 xadd: if (is_imm8(insn->off)) in do_jit()
712 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
715 insn->off); in do_jit()
781 switch (BPF_OP(insn->code)) { in do_jit()
808 jmp_offset = addrs[i + insn->off] - addrs[i]; in do_jit()
821 jmp_offset = addrs[i + insn->off] - addrs[i]; in do_jit()
849 if (BPF_MODE(insn->code) == BPF_ABS) { in do_jit()
912 pr_err("bpf_jit: unknown opcode %02x\n", insn->code); in do_jit()