Lines Matching refs:insn

341 	struct bpf_insn *insn = bpf_prog->insnsi;  in do_jit()  local
355 for (i = 0; i < insn_cnt; i++, insn++) { in do_jit()
356 const s32 imm32 = insn->imm; in do_jit()
357 u32 dst_reg = insn->dst_reg; in do_jit()
358 u32 src_reg = insn->src_reg; in do_jit()
366 switch (insn->code) { in do_jit()
378 switch (BPF_OP(insn->code)) { in do_jit()
385 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
407 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
424 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
429 switch (BPF_OP(insn->code)) { in do_jit()
465 if (insn[1].code != 0 || insn[1].src_reg != 0 || in do_jit()
466 insn[1].dst_reg != 0 || insn[1].off != 0) { in do_jit()
474 EMIT(insn[0].imm, 4); in do_jit()
475 EMIT(insn[1].imm, 4); in do_jit()
477 insn++; in do_jit()
493 if (BPF_SRC(insn->code) == BPF_X) in do_jit()
508 if (BPF_SRC(insn->code) == BPF_X) { in do_jit()
528 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
535 if (BPF_OP(insn->code) == BPF_MOD) in do_jit()
559 if (BPF_SRC(insn->code) == BPF_X) in do_jit()
566 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
590 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
595 switch (BPF_OP(insn->code)) { in do_jit()
625 if (BPF_CLASS(insn->code) == BPF_ALU64) in do_jit()
630 switch (BPF_OP(insn->code)) { in do_jit()
640 if (insn->dst_reg == BPF_REG_4) in do_jit()
642 EMIT_mov(insn->dst_reg, AUX_REG); in do_jit()
723 st: if (is_imm8(insn->off)) in do_jit()
724 EMIT2(add_1reg(0x40, dst_reg), insn->off); in do_jit()
726 EMIT1_off32(add_1reg(0x80, dst_reg), insn->off); in do_jit()
728 EMIT(imm32, bpf_size_to_x86_bytes(BPF_SIZE(insn->code))); in do_jit()
755 stx: if (is_imm8(insn->off)) in do_jit()
756 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
759 insn->off); in do_jit()
785 if (is_imm8(insn->off)) in do_jit()
786 EMIT2(add_2reg(0x40, src_reg, dst_reg), insn->off); in do_jit()
789 insn->off); in do_jit()
802 xadd: if (is_imm8(insn->off)) in do_jit()
803 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
806 insn->off); in do_jit()
887 switch (BPF_OP(insn->code)) { in do_jit()
914 jmp_offset = addrs[i + insn->off] - addrs[i]; in do_jit()
927 jmp_offset = addrs[i + insn->off] - addrs[i]; in do_jit()
955 if (BPF_MODE(insn->code) == BPF_ABS) { in do_jit()
1018 pr_err("bpf_jit: unknown opcode %02x\n", insn->code); in do_jit()