Lines Matching refs:jit_ctx
202 struct jit_ctx { struct
271 static inline void _emit(int cond, u32 inst, struct jit_ctx *ctx) in _emit()
285 static inline void emit(u32 inst, struct jit_ctx *ctx) in emit()
409 static u16 imm_offset(u32 k, struct jit_ctx *ctx) in imm_offset()
455 const struct jit_ctx *ctx) { in bpf2a32_offset()
469 static inline void emit_mov_i_no8m(const u8 rd, u32 val, struct jit_ctx *ctx) in emit_mov_i_no8m()
480 static inline void emit_mov_i(const u8 rd, u32 val, struct jit_ctx *ctx) in emit_mov_i()
490 static void emit_bx_r(u8 tgt_reg, struct jit_ctx *ctx) in emit_bx_r()
498 static inline void emit_blx_r(u8 tgt_reg, struct jit_ctx *ctx) in emit_blx_r()
508 static inline int epilogue_offset(const struct jit_ctx *ctx) in epilogue_offset()
520 static inline void emit_udivmod(u8 rd, u8 rm, u8 rn, struct jit_ctx *ctx, u8 op, u8 sign) in emit_udivmod()
588 static inline void emit_udivmod64(const s8 *rd, const s8 *rm, const s8 *rn, struct jit_ctx *ctx, in emit_udivmod64()
670 static s8 arm_bpf_get_reg32(s8 reg, s8 tmp, struct jit_ctx *ctx) in arm_bpf_get_reg32()
680 struct jit_ctx *ctx) in arm_bpf_get_reg64()
702 static void arm_bpf_put_reg32(s8 reg, s8 src, struct jit_ctx *ctx) in arm_bpf_put_reg32()
711 struct jit_ctx *ctx) in arm_bpf_put_reg64()
733 struct jit_ctx *ctx) in emit_a32_mov_i()
745 static void emit_a32_mov_i64(const s8 dst[], u64 val, struct jit_ctx *ctx) in emit_a32_mov_i64()
758 const u32 val, struct jit_ctx *ctx) { in emit_a32_mov_se_i64()
768 struct jit_ctx *ctx) { in emit_a32_add_r()
785 struct jit_ctx *ctx) { in emit_a32_sub_r()
801 const bool hi, const u8 op, struct jit_ctx *ctx){ in emit_alu_r()
844 const s8 src[], struct jit_ctx *ctx, in emit_a32_alu_r64()
874 static inline void emit_a32_mov_r(const s8 dst, const s8 src, struct jit_ctx *ctx) { in emit_a32_mov_r()
885 struct jit_ctx *ctx) { in emit_a32_mov_r64()
913 struct jit_ctx *ctx) { in emit_a32_movsx_r64()
966 struct jit_ctx *ctx, const u8 op) { in emit_a32_alu_i()
993 struct jit_ctx *ctx){ in emit_a32_neg64()
1009 struct jit_ctx *ctx) { in emit_a32_lsh_r64()
1033 struct jit_ctx *ctx) { in emit_a32_arsh_r64()
1058 struct jit_ctx *ctx) { in emit_a32_rsh_r64()
1082 const u32 val, struct jit_ctx *ctx){ in emit_a32_lsh_i64()
1108 const u32 val, struct jit_ctx *ctx) { in emit_a32_rsh_i64()
1138 const u32 val, struct jit_ctx *ctx){ in emit_a32_arsh_i64()
1167 struct jit_ctx *ctx) { in emit_a32_mul_r64()
1228 s16 off, struct jit_ctx *ctx, const u8 sz){ in emit_str_r()
1263 s16 off, struct jit_ctx *ctx, const u8 sz){ in emit_ldx_r()
1307 s16 off, struct jit_ctx *ctx, const u8 sz){ in emit_ldsx_r()
1351 const u8 rn, struct jit_ctx *ctx, u8 op, in emit_ar_r()
1393 static int emit_bpf_tail_call(struct jit_ctx *ctx) in emit_bpf_tail_call()
1475 static inline void emit_rev16(const u8 rd, const u8 rn, struct jit_ctx *ctx) in emit_rev16()
1490 static inline void emit_rev32(const u8 rd, const u8 rn, struct jit_ctx *ctx) in emit_rev32()
1513 static inline void emit_push_r64(const s8 src[], struct jit_ctx *ctx) in emit_push_r64()
1525 static void build_prologue(struct jit_ctx *ctx) in build_prologue()
1566 static void build_epilogue(struct jit_ctx *ctx) in build_epilogue()
1589 static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx) in build_insn()
2099 static int build_body(struct jit_ctx *ctx) in build_body()
2128 static int validate_code(struct jit_ctx *ctx) in validate_code()
2150 struct jit_ctx ctx; in bpf_int_jit_compile()