Home
last modified time | relevance | path

Searched refs:jit_ctx (Results 1 - 12 of 12) sorted by relevance

/kernel/linux/linux-5.10/arch/mips/net/
H A Dbpf_jit.c89 * struct jit_ctx - JIT context
97 struct jit_ctx { struct
118 static inline void emit_jit_reg_move(ptr dst, ptr src, struct jit_ctx *ctx);
150 unsigned int src2, struct jit_ctx *ctx) in emit_addu()
155 static inline void emit_nop(struct jit_ctx *ctx) in emit_nop()
161 static inline void emit_load_imm(unsigned int dst, u32 imm, struct jit_ctx *ctx) in emit_load_imm()
182 unsigned int src2, struct jit_ctx *ctx) in emit_or()
188 struct jit_ctx *ctx) in emit_ori()
199 int imm, struct jit_ctx *ctx) in emit_daddiu()
209 u32 imm, struct jit_ctx *ct in emit_addiu()
[all...]
H A Debpf_jit.c91 * struct jit_ctx - JIT context
100 struct jit_ctx { struct
119 static enum reg_val_type get_reg_val_type(const struct jit_ctx *ctx, in get_reg_val_type()
141 static unsigned int j_target(struct jit_ctx *ctx, int target_idx) in j_target()
159 static u32 b_imm(unsigned int tgt, struct jit_ctx *ctx) in b_imm()
193 static int ebpf_to_mips_reg(struct jit_ctx *ctx, in ebpf_to_mips_reg()
270 static int gen_int_prologue(struct jit_ctx *ctx) in gen_int_prologue()
352 static int build_int_epilogue(struct jit_ctx *ctx, int dest_reg) in build_int_epilogue()
409 struct jit_ctx *ctx) in gen_imm_to_reg()
422 static int gen_imm_insn(const struct bpf_insn *insn, struct jit_ctx *ct
[all...]
/kernel/linux/linux-6.6/arch/loongarch/net/
H A Dbpf_jit.h13 struct jit_ctx { struct
27 struct jit_ctx ctx;
47 static inline int bpf2la_offset(int bpf_insn, int off, const struct jit_ctx *ctx) in bpf2la_offset()
59 static inline int epilogue_offset(const struct jit_ctx *ctx) in epilogue_offset()
68 static inline void emit_zext_32(struct jit_ctx *ctx, enum loongarch_gpr reg, bool is32) in emit_zext_32()
77 static inline void emit_sext_32(struct jit_ctx *ctx, enum loongarch_gpr reg, bool is32) in emit_sext_32()
85 static inline void move_addr(struct jit_ctx *ctx, enum loongarch_gpr rd, u64 addr) in move_addr()
106 static inline void move_imm(struct jit_ctx *ctx, enum loongarch_gpr rd, long imm, bool is32) in move_imm()
169 static inline void move_reg(struct jit_ctx *ctx, enum loongarch_gpr rd, in move_reg()
203 static inline void cond_jmp_offset(struct jit_ctx *ct
[all...]
H A Dbpf_jit.c35 static void mark_call(struct jit_ctx *ctx) in mark_call()
40 static void mark_tail_call(struct jit_ctx *ctx) in mark_tail_call()
45 static bool seen_call(struct jit_ctx *ctx) in seen_call()
50 static bool seen_tail_call(struct jit_ctx *ctx) in seen_tail_call()
55 static u8 tail_call_reg(struct jit_ctx *ctx) in tail_call_reg()
89 static void build_prologue(struct jit_ctx *ctx) in build_prologue()
149 static void __build_epilogue(struct jit_ctx *ctx, bool is_tail_call) in __build_epilogue()
194 static void build_epilogue(struct jit_ctx *ctx) in build_epilogue()
206 static int emit_bpf_tail_call(struct jit_ctx *ctx) in emit_bpf_tail_call()
277 static void emit_atomic(const struct bpf_insn *insn, struct jit_ctx *ct
[all...]
/kernel/linux/linux-5.10/arch/arm/net/
H A Dbpf_jit_32.c200 struct jit_ctx { struct
231 static inline void _emit(int cond, u32 inst, struct jit_ctx *ctx) in _emit()
245 static inline void emit(u32 inst, struct jit_ctx *ctx) in emit()
366 static u16 imm_offset(u32 k, struct jit_ctx *ctx) in imm_offset()
412 const struct jit_ctx *ctx) { in bpf2a32_offset()
426 static inline void emit_mov_i_no8m(const u8 rd, u32 val, struct jit_ctx *ctx) in emit_mov_i_no8m()
437 static inline void emit_mov_i(const u8 rd, u32 val, struct jit_ctx *ctx) in emit_mov_i()
447 static void emit_bx_r(u8 tgt_reg, struct jit_ctx *ctx) in emit_bx_r()
455 static inline void emit_blx_r(u8 tgt_reg, struct jit_ctx *ctx) in emit_blx_r()
465 static inline int epilogue_offset(const struct jit_ctx *ct
[all...]
/kernel/linux/linux-6.6/arch/arm/net/
H A Dbpf_jit_32.c200 struct jit_ctx { struct
231 static inline void _emit(int cond, u32 inst, struct jit_ctx *ctx) in _emit()
245 static inline void emit(u32 inst, struct jit_ctx *ctx) in emit()
366 static u16 imm_offset(u32 k, struct jit_ctx *ctx) in imm_offset()
412 const struct jit_ctx *ctx) { in bpf2a32_offset()
426 static inline void emit_mov_i_no8m(const u8 rd, u32 val, struct jit_ctx *ctx) in emit_mov_i_no8m()
437 static inline void emit_mov_i(const u8 rd, u32 val, struct jit_ctx *ctx) in emit_mov_i()
447 static void emit_bx_r(u8 tgt_reg, struct jit_ctx *ctx) in emit_bx_r()
455 static inline void emit_blx_r(u8 tgt_reg, struct jit_ctx *ctx) in emit_blx_r()
465 static inline int epilogue_offset(const struct jit_ctx *ct
[all...]
/kernel/linux/linux-6.6/arch/arm64/net/
H A Dbpf_jit_comp.c72 struct jit_ctx { struct
92 static inline void emit(const u32 insn, struct jit_ctx *ctx) in emit()
101 const s32 val, struct jit_ctx *ctx) in emit_a64_mov_i()
130 struct jit_ctx *ctx) in emit_a64_mov_i64()
154 static inline void emit_bti(u32 insn, struct jit_ctx *ctx) in emit_bti()
166 struct jit_ctx *ctx) in emit_addr_mov_i64()
179 static inline void emit_call(u64 target, struct jit_ctx *ctx) in emit_call()
188 const struct jit_ctx *ctx) in bpf2a64_offset()
208 static inline int epilogue_offset(const struct jit_ctx *ctx) in epilogue_offset()
288 static int build_prologue(struct jit_ctx *ct
[all...]
/kernel/linux/linux-5.10/arch/sparc/net/
H A Dbpf_jit_comp_64.c189 struct jit_ctx { struct
236 static void emit(const u32 insn, struct jit_ctx *ctx) in emit()
244 static void emit_call(u32 *func, struct jit_ctx *ctx) in emit_call()
256 static void emit_nop(struct jit_ctx *ctx) in emit_nop()
261 static void emit_reg_move(u32 from, u32 to, struct jit_ctx *ctx) in emit_reg_move()
267 static void emit_set_const(s32 K, u32 reg, struct jit_ctx *ctx) in emit_set_const()
274 static void emit_set_const_sext(s32 K, u32 reg, struct jit_ctx *ctx) in emit_set_const_sext()
288 static void emit_alu(u32 opcode, u32 src, u32 dst, struct jit_ctx *ctx) in emit_alu()
293 static void emit_alu3(u32 opcode, u32 a, u32 b, u32 c, struct jit_ctx *ctx) in emit_alu3()
299 struct jit_ctx *ct in emit_alu_K()
[all...]
/kernel/linux/linux-6.6/arch/sparc/net/
H A Dbpf_jit_comp_64.c189 struct jit_ctx { struct
236 static void emit(const u32 insn, struct jit_ctx *ctx) in emit()
244 static void emit_call(u32 *func, struct jit_ctx *ctx) in emit_call()
256 static void emit_nop(struct jit_ctx *ctx) in emit_nop()
261 static void emit_reg_move(u32 from, u32 to, struct jit_ctx *ctx) in emit_reg_move()
267 static void emit_set_const(s32 K, u32 reg, struct jit_ctx *ctx) in emit_set_const()
274 static void emit_set_const_sext(s32 K, u32 reg, struct jit_ctx *ctx) in emit_set_const_sext()
288 static void emit_alu(u32 opcode, u32 src, u32 dst, struct jit_ctx *ctx) in emit_alu()
293 static void emit_alu3(u32 opcode, u32 a, u32 b, u32 c, struct jit_ctx *ctx) in emit_alu3()
299 struct jit_ctx *ct in emit_alu_K()
[all...]
/kernel/linux/linux-5.10/arch/loongarch/net/
H A Debpf_jit.h12 struct jit_ctx { struct
25 struct jit_ctx ctx;
55 static inline int bpf2la_offset(int bpf_insn, int off, const struct jit_ctx *ctx) in bpf2la_offset()
67 static inline int epilogue_offset(const struct jit_ctx *ctx) in epilogue_offset()
596 static inline void emit_zext_32(struct jit_ctx *ctx, enum loongarch_gpr reg, bool is32) in emit_zext_32()
606 static inline void emit_sext_32(struct jit_ctx *ctx, enum loongarch_gpr reg) in emit_sext_32()
611 static inline void move_imm32(struct jit_ctx *ctx, enum loongarch_gpr rd, in move_imm32()
648 static inline void move_imm64(struct jit_ctx *ctx, enum loongarch_gpr rd, in move_imm64()
678 static inline void move_reg(struct jit_ctx *ctx, enum loongarch_gpr rd, in move_reg()
712 static inline void cond_jump_offs16(struct jit_ctx *ct
[all...]
H A Debpf_jit.c46 static void mark_call(struct jit_ctx *ctx) in mark_call()
51 static void mark_tail_call(struct jit_ctx *ctx) in mark_tail_call()
56 static bool seen_call(struct jit_ctx *ctx) in seen_call()
61 static bool seen_tail_call(struct jit_ctx *ctx) in seen_tail_call()
66 static u8 tail_call_reg(struct jit_ctx *ctx) in tail_call_reg()
100 static void build_prologue(struct jit_ctx *ctx) in build_prologue()
166 static void __build_epilogue(struct jit_ctx *ctx, bool is_tail_call) in __build_epilogue()
211 void build_epilogue(struct jit_ctx *ctx) in build_epilogue()
218 static int emit_bpf_tail_call(struct jit_ctx *ctx) in emit_bpf_tail_call()
284 static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ct
[all...]
/kernel/linux/linux-5.10/arch/arm64/net/
H A Dbpf_jit_comp.c55 struct jit_ctx { struct
65 static inline void emit(const u32 insn, struct jit_ctx *ctx) in emit()
74 const s32 val, struct jit_ctx *ctx) in emit_a64_mov_i()
103 struct jit_ctx *ctx) in emit_a64_mov_i64()
133 struct jit_ctx *ctx) in emit_addr_mov_i64()
147 const struct jit_ctx *ctx) in bpf2a64_offset()
167 static inline int epilogue_offset(const struct jit_ctx *ctx) in epilogue_offset()
191 static int build_prologue(struct jit_ctx *ctx, bool ebpf_from_cbpf) in build_prologue()
266 static int emit_bpf_tail_call(struct jit_ctx *ctx) in emit_bpf_tail_call()
331 static void build_epilogue(struct jit_ctx *ct
[all...]

Completed in 16 milliseconds