codegen_context
static inline bool bpf_is_seen_register(struct codegen_context *ctx, int i)
static inline void bpf_set_seen_register(struct codegen_context *ctx, int i)
static inline void bpf_clear_seen_register(struct codegen_context *ctx, int i)
void bpf_jit_init_reg_mapping(struct codegen_context *ctx);
int bpf_jit_emit_func_call_rel(u32 *image, u32 *fimage, struct codegen_context *ctx, u64 func);
int bpf_jit_build_body(struct bpf_prog *fp, u32 *image, u32 *fimage, struct codegen_context *ctx,
void bpf_jit_build_prologue(u32 *image, struct codegen_context *ctx);
void bpf_jit_build_epilogue(u32 *image, struct codegen_context *ctx);
void bpf_jit_build_fentry_stubs(u32 *image, struct codegen_context *ctx);
void bpf_jit_realloc_regs(struct codegen_context *ctx);
int bpf_jit_emit_exit_insn(u32 *image, struct codegen_context *ctx, int tmp_reg, long exit_addr);
void prepare_for_fsession_fentry(u32 *image, struct codegen_context *ctx, int cookie_cnt,
void store_func_meta(u32 *image, struct codegen_context *ctx, u64 func_meta, int func_meta_off);
struct codegen_context *ctx, int insn_idx,
int bpf_jit_emit_exit_insn(u32 *image, struct codegen_context *ctx, int tmp_reg, long exit_addr)
struct codegen_context ctx;
struct codegen_context cgctx;
memset(&cgctx, 0, sizeof(struct codegen_context));
struct codegen_context *ctx, int insn_idx, int jmp_off,
void bpf_jit_build_fentry_stubs(u32 *image, struct codegen_context *ctx)
static int invoke_bpf_prog(u32 *image, u32 *ro_image, struct codegen_context *ctx,
static int invoke_bpf_mod_ret(u32 *image, u32 *ro_image, struct codegen_context *ctx,
static void bpf_trampoline_setup_tail_call_info(u32 *image, struct codegen_context *ctx,
static void bpf_trampoline_restore_tail_call_cnt(u32 *image, struct codegen_context *ctx,
static void bpf_trampoline_save_args(u32 *image, struct codegen_context *ctx,
static void bpf_trampoline_restore_args_regs(u32 *image, struct codegen_context *ctx,
static void bpf_trampoline_restore_args_stack(u32 *image, struct codegen_context *ctx,
struct codegen_context codegen_ctx, *ctx;
void prepare_for_fsession_fentry(u32 *image, struct codegen_context *ctx, int cookie_cnt,
void store_func_meta(u32 *image, struct codegen_context *ctx,
void bpf_jit_build_prologue(u32 *image, struct codegen_context *ctx)
static void bpf_jit_emit_common_epilogue(u32 *image, struct codegen_context *ctx)
void bpf_jit_build_epilogue(u32 *image, struct codegen_context *ctx)
int bpf_jit_emit_func_call_rel(u32 *image, u32 *fimage, struct codegen_context *ctx, u64 func)
static int bpf_jit_emit_tail_call(u32 *image, struct codegen_context *ctx, u32 out)
int bpf_jit_build_body(struct bpf_prog *fp, u32 *image, u32 *fimage, struct codegen_context *ctx,
void bpf_jit_init_reg_mapping(struct codegen_context *ctx)
static int bpf_jit_stack_offsetof(struct codegen_context *ctx, int reg)
static inline bool bpf_has_stack_frame(struct codegen_context *ctx)
void bpf_jit_realloc_regs(struct codegen_context *ctx)
static inline bool bpf_has_stack_frame(struct codegen_context *ctx)
static int bpf_jit_stack_local(struct codegen_context *ctx)
static int bpf_jit_stack_tailcallinfo_offset(struct codegen_context *ctx)
static int bpf_jit_stack_offsetof(struct codegen_context *ctx, int reg)
void prepare_for_fsession_fentry(u32 *image, struct codegen_context *ctx, int cookie_cnt,
void store_func_meta(u32 *image, struct codegen_context *ctx,
void bpf_jit_realloc_regs(struct codegen_context *ctx)
static void emit_fp_priv_stack(u32 *image, struct codegen_context *ctx)
static int bpf_jit_stack_size(struct codegen_context *ctx)
void bpf_jit_build_prologue(u32 *image, struct codegen_context *ctx)
static void bpf_jit_emit_common_epilogue(u32 *image, struct codegen_context *ctx)
void bpf_jit_build_epilogue(u32 *image, struct codegen_context *ctx)
int bpf_jit_emit_func_call_rel(u32 *image, u32 *fimage, struct codegen_context *ctx, u64 func)
static int zero_extend(u32 *image, struct codegen_context *ctx, u32 src_reg, u32 dst_reg, u32 size)
static int sign_extend(u32 *image, struct codegen_context *ctx, u32 src_reg, u32 dst_reg, u32 size)
struct codegen_context *ctx,
static int bpf_jit_emit_tail_call(u32 *image, struct codegen_context *ctx, u32 out)
static int bpf_jit_emit_atomic_ops(u32 *image, struct codegen_context *ctx,
void bpf_jit_init_reg_mapping(struct codegen_context *ctx)
static int bpf_jit_emit_probe_mem_store(struct codegen_context *ctx, u32 src_reg, s16 off,
static int emit_atomic_ld_st(const struct bpf_insn insn, struct codegen_context *ctx, u32 *image)
int bpf_jit_build_body(struct bpf_prog *fp, u32 *image, u32 *fimage, struct codegen_context *ctx,