Lines Matching refs:pprog
258 static void push_callee_regs(u8 **pprog, bool *callee_regs_used) in push_callee_regs() argument
260 u8 *prog = *pprog; in push_callee_regs()
270 *pprog = prog; in push_callee_regs()
273 static void pop_callee_regs(u8 **pprog, bool *callee_regs_used) in pop_callee_regs() argument
275 u8 *prog = *pprog; in pop_callee_regs()
285 *pprog = prog; in pop_callee_regs()
293 static void emit_prologue(u8 **pprog, u32 stack_depth, bool ebpf_from_cbpf, in emit_prologue() argument
296 u8 *prog = *pprog; in emit_prologue()
321 *pprog = prog; in emit_prologue()
324 static int emit_patch(u8 **pprog, void *func, void *ip, u8 opcode) in emit_patch() argument
326 u8 *prog = *pprog; in emit_patch()
335 *pprog = prog; in emit_patch()
339 static int emit_call(u8 **pprog, void *func, void *ip) in emit_call() argument
341 return emit_patch(pprog, func, ip, 0xE8); in emit_call()
344 static int emit_rsb_call(u8 **pprog, void *func, void *ip) in emit_rsb_call() argument
347 x86_call_depth_emit_accounting(pprog, func); in emit_rsb_call()
348 return emit_patch(pprog, func, ip, 0xE8); in emit_rsb_call()
351 static int emit_jump(u8 **pprog, void *func, void *ip) in emit_jump() argument
353 return emit_patch(pprog, func, ip, 0xE9); in emit_jump()
419 static void emit_indirect_jump(u8 **pprog, int reg, u8 *ip) in emit_indirect_jump() argument
421 u8 *prog = *pprog; in emit_indirect_jump()
438 *pprog = prog; in emit_indirect_jump()
441 static void emit_return(u8 **pprog, u8 *ip) in emit_return() argument
443 u8 *prog = *pprog; in emit_return()
453 *pprog = prog; in emit_return()
470 static void emit_bpf_tail_call_indirect(u8 **pprog, bool *callee_regs_used, in emit_bpf_tail_call_indirect() argument
475 u8 *prog = *pprog, *start = *pprog; in emit_bpf_tail_call_indirect()
541 *pprog = prog; in emit_bpf_tail_call_indirect()
545 u8 **pprog, u8 *ip, in emit_bpf_tail_call_direct() argument
550 u8 *prog = *pprog, *start = *pprog; in emit_bpf_tail_call_direct()
584 *pprog = prog; in emit_bpf_tail_call_direct()
624 static void emit_mov_imm32(u8 **pprog, bool sign_propagate, in emit_mov_imm32() argument
627 u8 *prog = *pprog; in emit_mov_imm32()
661 *pprog = prog; in emit_mov_imm32()
664 static void emit_mov_imm64(u8 **pprog, u32 dst_reg, in emit_mov_imm64() argument
667 u8 *prog = *pprog; in emit_mov_imm64()
684 *pprog = prog; in emit_mov_imm64()
687 static void emit_mov_reg(u8 **pprog, bool is64, u32 dst_reg, u32 src_reg) in emit_mov_reg() argument
689 u8 *prog = *pprog; in emit_mov_reg()
701 *pprog = prog; in emit_mov_reg()
704 static void emit_movsx_reg(u8 **pprog, int num_bits, bool is64, u32 dst_reg, in emit_movsx_reg() argument
707 u8 *prog = *pprog; in emit_movsx_reg()
733 *pprog = prog; in emit_movsx_reg()
737 static void emit_insn_suffix(u8 **pprog, u32 ptr_reg, u32 val_reg, int off) in emit_insn_suffix() argument
739 u8 *prog = *pprog; in emit_insn_suffix()
753 *pprog = prog; in emit_insn_suffix()
759 static void maybe_emit_mod(u8 **pprog, u32 dst_reg, u32 src_reg, bool is64) in maybe_emit_mod() argument
761 u8 *prog = *pprog; in maybe_emit_mod()
767 *pprog = prog; in maybe_emit_mod()
773 static void maybe_emit_1mod(u8 **pprog, u32 reg, bool is64) in maybe_emit_1mod() argument
775 u8 *prog = *pprog; in maybe_emit_1mod()
781 *pprog = prog; in maybe_emit_1mod()
785 static void emit_ldx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) in emit_ldx() argument
787 u8 *prog = *pprog; in emit_ldx()
811 *pprog = prog; in emit_ldx()
815 static void emit_ldsx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) in emit_ldsx() argument
817 u8 *prog = *pprog; in emit_ldsx()
834 *pprog = prog; in emit_ldsx()
838 static void emit_stx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) in emit_stx() argument
840 u8 *prog = *pprog; in emit_stx()
868 *pprog = prog; in emit_stx()
871 static int emit_atomic(u8 **pprog, u8 atomic_op, in emit_atomic() argument
874 u8 *prog = *pprog; in emit_atomic()
908 *pprog = prog; in emit_atomic()
941 static void emit_nops(u8 **pprog, int len) in emit_nops() argument
943 u8 *prog = *pprog; in emit_nops()
957 *pprog = prog; in emit_nops()
971 static void emit_3vex(u8 **pprog, bool r, bool x, bool b, u8 m, in emit_3vex() argument
974 u8 *prog = *pprog; in emit_3vex()
1004 *pprog = prog; in emit_3vex()
1008 static void emit_shiftx(u8 **pprog, u32 dst_reg, u8 src_reg, bool is64, u8 op) in emit_shiftx() argument
1010 u8 *prog = *pprog; in emit_shiftx()
1016 *pprog = prog; in emit_shiftx()
1954 u8 **pprog, int nr_stack_slots, in clean_stack_garbage() argument
1990 prog = *pprog; in clean_stack_garbage()
1997 *pprog = prog; in clean_stack_garbage()
2127 static int invoke_bpf_prog(const struct btf_func_model *m, u8 **pprog, in invoke_bpf_prog() argument
2131 u8 *prog = *pprog; in invoke_bpf_prog()
2211 *pprog = prog; in invoke_bpf_prog()
2215 static void emit_align(u8 **pprog, u32 align) in emit_align() argument
2217 u8 *target, *prog = *pprog; in emit_align()
2223 *pprog = prog; in emit_align()
2226 static int emit_cond_near_jump(u8 **pprog, void *func, void *ip, u8 jmp_cond) in emit_cond_near_jump() argument
2228 u8 *prog = *pprog; in emit_cond_near_jump()
2237 *pprog = prog; in emit_cond_near_jump()
2241 static int invoke_bpf(const struct btf_func_model *m, u8 **pprog, in invoke_bpf() argument
2246 u8 *prog = *pprog; in invoke_bpf()
2253 *pprog = prog; in invoke_bpf()
2257 static int invoke_bpf_mod_ret(const struct btf_func_model *m, u8 **pprog, in invoke_bpf_mod_ret() argument
2261 u8 *prog = *pprog; in invoke_bpf_mod_ret()
2289 *pprog = prog; in invoke_bpf_mod_ret()
2595 static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs, u8 *image, u8 *buf) in emit_bpf_dispatcher() argument
2597 u8 *jg_reloc, *prog = *pprog; in emit_bpf_dispatcher()
2618 *pprog = prog; in emit_bpf_dispatcher()
2659 *pprog = prog; in emit_bpf_dispatcher()