Lines Matching refs:pprog
234 static void push_callee_regs(u8 **pprog, bool *callee_regs_used) in push_callee_regs() argument
236 u8 *prog = *pprog; in push_callee_regs()
247 *pprog = prog; in push_callee_regs()
250 static void pop_callee_regs(u8 **pprog, bool *callee_regs_used) in pop_callee_regs() argument
252 u8 *prog = *pprog; in pop_callee_regs()
263 *pprog = prog; in pop_callee_regs()
271 static void emit_prologue(u8 **pprog, u32 stack_depth, bool ebpf_from_cbpf, in emit_prologue() argument
274 u8 *prog = *pprog; in emit_prologue()
295 *pprog = prog; in emit_prologue()
298 static int emit_patch(u8 **pprog, void *func, void *ip, u8 opcode) in emit_patch() argument
300 u8 *prog = *pprog; in emit_patch()
310 *pprog = prog; in emit_patch()
314 static int emit_call(u8 **pprog, void *func, void *ip) in emit_call() argument
316 return emit_patch(pprog, func, ip, 0xE8); in emit_call()
319 static int emit_jump(u8 **pprog, void *func, void *ip) in emit_jump() argument
321 return emit_patch(pprog, func, ip, 0xE9); in emit_jump()
384 static void emit_indirect_jump(u8 **pprog, int reg, u8 *ip) in emit_indirect_jump() argument
386 u8 *prog = *pprog; in emit_indirect_jump()
399 *pprog = prog; in emit_indirect_jump()
402 static void emit_return(u8 **pprog, u8 *ip) in emit_return() argument
404 u8 *prog = *pprog; in emit_return()
415 *pprog = prog; in emit_return()
432 static void emit_bpf_tail_call_indirect(u8 **pprog, bool *callee_regs_used, in emit_bpf_tail_call_indirect() argument
437 u8 *prog = *pprog, *start = *pprog; in emit_bpf_tail_call_indirect()
503 *pprog = prog; in emit_bpf_tail_call_indirect()
507 u8 **pprog, u8 *ip, in emit_bpf_tail_call_direct() argument
512 u8 *prog = *pprog, *start = *pprog; in emit_bpf_tail_call_direct()
546 *pprog = prog; in emit_bpf_tail_call_direct()
595 static void emit_mov_imm32(u8 **pprog, bool sign_propagate, in emit_mov_imm32() argument
598 u8 *prog = *pprog; in emit_mov_imm32()
633 *pprog = prog; in emit_mov_imm32()
636 static void emit_mov_imm64(u8 **pprog, u32 dst_reg, in emit_mov_imm64() argument
639 u8 *prog = *pprog; in emit_mov_imm64()
657 *pprog = prog; in emit_mov_imm64()
660 static void emit_mov_reg(u8 **pprog, bool is64, u32 dst_reg, u32 src_reg) in emit_mov_reg() argument
662 u8 *prog = *pprog; in emit_mov_reg()
675 *pprog = prog; in emit_mov_reg()
679 static void emit_ldx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) in emit_ldx() argument
681 u8 *prog = *pprog; in emit_ldx()
714 *pprog = prog; in emit_ldx()
718 static void emit_stx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) in emit_stx() argument
720 u8 *prog = *pprog; in emit_stx()
752 *pprog = prog; in emit_stx()
1543 static int invoke_bpf_prog(const struct btf_func_model *m, u8 **pprog, in invoke_bpf_prog() argument
1546 u8 *prog = *pprog; in invoke_bpf_prog()
1594 *pprog = prog; in invoke_bpf_prog()
1598 static void emit_nops(u8 **pprog, unsigned int len) in emit_nops() argument
1601 u8 *prog = *pprog; in emit_nops()
1615 *pprog = prog; in emit_nops()
1618 static void emit_align(u8 **pprog, u32 align) in emit_align() argument
1620 u8 *target, *prog = *pprog; in emit_align()
1626 *pprog = prog; in emit_align()
1629 static int emit_cond_near_jump(u8 **pprog, void *func, void *ip, u8 jmp_cond) in emit_cond_near_jump() argument
1631 u8 *prog = *pprog; in emit_cond_near_jump()
1641 *pprog = prog; in emit_cond_near_jump()
1645 static int invoke_bpf(const struct btf_func_model *m, u8 **pprog, in invoke_bpf() argument
1650 u8 *prog = *pprog; in invoke_bpf()
1657 *pprog = prog; in invoke_bpf()
1661 static int invoke_bpf_mod_ret(const struct btf_func_model *m, u8 **pprog, in invoke_bpf_mod_ret() argument
1665 u8 *prog = *pprog; in invoke_bpf_mod_ret()
1693 *pprog = prog; in invoke_bpf_mod_ret()
1916 static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs) in emit_bpf_dispatcher() argument
1918 u8 *jg_reloc, *prog = *pprog; in emit_bpf_dispatcher()
1939 *pprog = prog; in emit_bpf_dispatcher()
1980 *pprog = prog; in emit_bpf_dispatcher()