Lines Matching refs:bpf_insn
97 static void emit(struct bpf_gen *gen, struct bpf_insn insn) in emit()
105 static void emit2(struct bpf_gen *gen, struct bpf_insn insn1, struct bpf_insn insn2) in emit2()
408 struct bpf_insn *insn = (struct bpf_insn *)opts->insns; in bpf_gen__finish()
409 int insn_cnt = opts->insns_sz / sizeof(struct bpf_insn); in bpf_gen__finish()
708 move_blob2blob(gen, insn + offsetof(struct bpf_insn, imm), 4, in emit_relo_kfunc_btf()
709 kdesc->insn + offsetof(struct bpf_insn, imm)); in emit_relo_kfunc_btf()
710 move_blob2blob(gen, insn + offsetof(struct bpf_insn, off), 2, in emit_relo_kfunc_btf()
711 kdesc->insn + offsetof(struct bpf_insn, off)); in emit_relo_kfunc_btf()
731 emit(gen, BPF_ST_MEM(BPF_W, BPF_REG_8, offsetof(struct bpf_insn, imm), 0)); in emit_relo_kfunc_btf()
732 emit(gen, BPF_ST_MEM(BPF_H, BPF_REG_8, offsetof(struct bpf_insn, off), 0)); in emit_relo_kfunc_btf()
736 emit(gen, BPF_STX_MEM(BPF_W, BPF_REG_8, BPF_REG_7, offsetof(struct bpf_insn, imm))); in emit_relo_kfunc_btf()
748 emit(gen, BPF_ST_MEM(BPF_H, BPF_REG_8, offsetof(struct bpf_insn, off), 0)); in emit_relo_kfunc_btf()
752 emit(gen, BPF_ST_MEM(BPF_H, BPF_REG_8, offsetof(struct bpf_insn, off), btf_fd_idx)); in emit_relo_kfunc_btf()
757 offsetof(struct bpf_insn, imm))); in emit_relo_kfunc_btf()
759 offsetof(struct bpf_insn, off))); in emit_relo_kfunc_btf()
775 offsetof(struct bpf_insn, imm))); in emit_ksym_relo_log()
776 emit(gen, BPF_LDX_MEM(BPF_H, BPF_REG_9, BPF_REG_8, sizeof(struct bpf_insn) + in emit_ksym_relo_log()
777 offsetof(struct bpf_insn, imm))); in emit_ksym_relo_log()
780 emit(gen, BPF_LDX_MEM(BPF_B, BPF_REG_9, BPF_REG_8, offsetofend(struct bpf_insn, code))); in emit_ksym_relo_log()
798 move_blob2blob(gen, insn + offsetof(struct bpf_insn, imm), 4, in emit_relo_ksym_typeless()
799 kdesc->insn + offsetof(struct bpf_insn, imm)); in emit_relo_ksym_typeless()
800 move_blob2blob(gen, insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm), 4, in emit_relo_ksym_typeless()
801 kdesc->insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm)); in emit_relo_ksym_typeless()
812 emit(gen, BPF_STX_MEM(BPF_W, BPF_REG_8, BPF_REG_9, offsetof(struct bpf_insn, imm))); in emit_relo_ksym_typeless()
816 sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm))); in emit_relo_ksym_typeless()
845 move_blob2blob(gen, insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm), 4, in emit_relo_ksym_btf()
846 kdesc->insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm)); in emit_relo_ksym_btf()
847 move_blob2blob(gen, insn + offsetof(struct bpf_insn, imm), 4, in emit_relo_ksym_btf()
848 kdesc->insn + offsetof(struct bpf_insn, imm)); in emit_relo_ksym_btf()
863 emit(gen, BPF_ST_MEM(BPF_W, BPF_REG_8, offsetof(struct bpf_insn, imm), 0)); in emit_relo_ksym_btf()
864 …emit(gen, BPF_ST_MEM(BPF_W, BPF_REG_8, sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm), 0… in emit_relo_ksym_btf()
868 emit(gen, BPF_STX_MEM(BPF_W, BPF_REG_8, BPF_REG_7, offsetof(struct bpf_insn, imm))); in emit_relo_ksym_btf()
872 sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm))); in emit_relo_ksym_btf()
878 emit(gen, BPF_LDX_MEM(BPF_B, BPF_REG_9, BPF_REG_8, offsetofend(struct bpf_insn, code))); in emit_relo_ksym_btf()
880 emit(gen, BPF_STX_MEM(BPF_B, BPF_REG_8, BPF_REG_9, offsetofend(struct bpf_insn, code))); in emit_relo_ksym_btf()
907 insn = insns + sizeof(struct bpf_insn) * relo->insn_idx; in emit_relo()
947 insn += sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm); in cleanup_relos()
989 const char *license, struct bpf_insn *insns, size_t insn_cnt, in bpf_gen__prog_load()
1006 insns_off = add_data(gen, insns, insn_cnt * sizeof(struct bpf_insn)); in bpf_gen__prog_load()
1012 struct bpf_insn *insn = gen->data_start + insns_off; in bpf_gen__prog_load()