hppa_jit_context
struct hppa_jit_context ctx;
static inline void emit(const u32 insn, struct hppa_jit_context *ctx)
static inline int epilogue_offset(struct hppa_jit_context *ctx)
static inline signed long hppa_offset(int insn, int off, struct hppa_jit_context *ctx)
void bpf_jit_build_prologue(struct hppa_jit_context *ctx);
void bpf_jit_build_epilogue(struct hppa_jit_context *ctx);
int bpf_jit_emit_insn(const struct bpf_insn *insn, struct hppa_jit_context *ctx,
struct hppa_jit_context *ctx, const u8 size)
struct hppa_jit_context *ctx, const u8 size,
static void emit_rev16(const s8 rd, struct hppa_jit_context *ctx)
static void emit_rev32(const s8 rs, const s8 rd, struct hppa_jit_context *ctx)
static void emit_zext64(const s8 *dst, struct hppa_jit_context *ctx)
int bpf_jit_emit_insn(const struct bpf_insn *insn, struct hppa_jit_context *ctx,
static void emit_hppa_copy(const s8 rs, const s8 rd, struct hppa_jit_context *ctx)
static void emit_hppa_xor(const s8 r1, const s8 r2, const s8 r3, struct hppa_jit_context *ctx)
static void emit_imm(const s8 rd, s32 imm, struct hppa_jit_context *ctx)
void bpf_jit_build_prologue(struct hppa_jit_context *ctx)
static void emit_imm32(const s8 *rd, s32 imm, struct hppa_jit_context *ctx)
void bpf_jit_build_epilogue(struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
static void __build_epilogue(bool is_tail_call, struct hppa_jit_context *ctx)
u16 offset_sp, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
bool must_load, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
static void bpf_save_R0(struct hppa_jit_context *ctx)
static void bpf_restore_R0(struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
const s8 arg1, u8 opcode, struct hppa_jit_context *ctx)
const s8 *arg1, u8 opcode, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx, const u8 op)
struct hppa_jit_context *ctx, const u8 op)
struct hppa_jit_context *ctx, const u8 op)
struct hppa_jit_context *ctx, const u8 op)
struct hppa_jit_context *ctx, const u8 op)
static int emit_bcc(u8 op, u8 rd, u8 rs, int paoff, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx, const u8 op)
static void emit_call(bool fixed, u64 addr, struct hppa_jit_context *ctx)
static int emit_bpf_tail_call(int insn, struct hppa_jit_context *ctx)
static void emit_hppa64_extrw(u8 src, u8 pos, u8 len, u8 target, bool signed_op, struct hppa_jit_context *ctx)
void bpf_jit_build_prologue(struct hppa_jit_context *ctx)
void bpf_jit_build_epilogue(struct hppa_jit_context *ctx)
static void emit_hppa64_shrd(u8 src, int num, u8 target, bool signed_op, struct hppa_jit_context *ctx)
static void emit_hppa64_shrw(u8 src, int num, u8 target, bool signed_op, struct hppa_jit_context *ctx)
static void emit_imm32(u8 rd, s32 imm, struct hppa_jit_context *ctx)
static void emit_imm(u8 rd, s64 imm, u8 tmpreg, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
static void __build_epilogue(bool is_tail_call, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
static void emit_zext_32(u8 reg, struct hppa_jit_context *ctx)
static void emit_bpf_tail_call(int insn, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx)
static void emit_zext_32_rd_rs(u8 *rd, u8 *rs, struct hppa_jit_context *ctx)
static void emit_sext_32_rd_rs(u8 *rd, u8 *rs, struct hppa_jit_context *ctx)
static void emit_zext_32_rd_t1(u8 *rd, struct hppa_jit_context *ctx)
static void emit_sext_32_rd(u8 *rd, struct hppa_jit_context *ctx)
static void emit_call(u64 addr, bool fixed, struct hppa_jit_context *ctx)
const s8 arg1, u8 opcode, struct hppa_jit_context *ctx)
struct hppa_jit_context *ctx, const u8 size,
int bpf_jit_emit_insn(const struct bpf_insn *insn, struct hppa_jit_context *ctx,
static u8 bpf_to_hppa_reg(int bpf_reg, struct hppa_jit_context *ctx)
static void emit_hppa_copy(const s8 rs, const s8 rd, struct hppa_jit_context *ctx)
static void emit_hppa64_depd(u8 src, u8 pos, u8 len, u8 target, bool no_zero, struct hppa_jit_context *ctx)
static void emit_hppa64_shld(u8 src, int num, u8 target, struct hppa_jit_context *ctx)
static void emit_hppa64_extrd(u8 src, u8 pos, u8 len, u8 target, bool signed_op, struct hppa_jit_context *ctx)
static int build_body(struct hppa_jit_context *ctx, bool extra_pass, int *offset)
struct hppa_jit_context *ctx;