Lines Matching refs:pprog
258 static void push_callee_regs(u8 **pprog, bool *callee_regs_used)
260 u8 *prog = *pprog;
270 *pprog = prog;
273 static void pop_callee_regs(u8 **pprog, bool *callee_regs_used)
275 u8 *prog = *pprog;
285 *pprog = prog;
293 static void emit_prologue(u8 **pprog, u32 stack_depth, bool ebpf_from_cbpf,
296 u8 *prog = *pprog;
321 *pprog = prog;
324 static int emit_patch(u8 **pprog, void *func, void *ip, u8 opcode)
326 u8 *prog = *pprog;
335 *pprog = prog;
339 static int emit_call(u8 **pprog, void *func, void *ip)
341 return emit_patch(pprog, func, ip, 0xE8);
344 static int emit_rsb_call(u8 **pprog, void *func, void *ip)
347 x86_call_depth_emit_accounting(pprog, func);
348 return emit_patch(pprog, func, ip, 0xE8);
351 static int emit_jump(u8 **pprog, void *func, void *ip)
353 return emit_patch(pprog, func, ip, 0xE9);
419 static void emit_indirect_jump(u8 **pprog, int reg, u8 *ip)
421 u8 *prog = *pprog;
438 *pprog = prog;
441 static void emit_return(u8 **pprog, u8 *ip)
443 u8 *prog = *pprog;
453 *pprog = prog;
470 static void emit_bpf_tail_call_indirect(u8 **pprog, bool *callee_regs_used,
475 u8 *prog = *pprog, *start = *pprog;
541 *pprog = prog;
545 u8 **pprog, u8 *ip,
550 u8 *prog = *pprog, *start = *pprog;
584 *pprog = prog;
624 static void emit_mov_imm32(u8 **pprog, bool sign_propagate,
627 u8 *prog = *pprog;
661 *pprog = prog;
664 static void emit_mov_imm64(u8 **pprog, u32 dst_reg,
667 u8 *prog = *pprog;
684 *pprog = prog;
687 static void emit_mov_reg(u8 **pprog, bool is64, u32 dst_reg, u32 src_reg)
689 u8 *prog = *pprog;
701 *pprog = prog;
704 static void emit_movsx_reg(u8 **pprog, int num_bits, bool is64, u32 dst_reg,
707 u8 *prog = *pprog;
733 *pprog = prog;
737 static void emit_insn_suffix(u8 **pprog, u32 ptr_reg, u32 val_reg, int off)
739 u8 *prog = *pprog;
753 *pprog = prog;
759 static void maybe_emit_mod(u8 **pprog, u32 dst_reg, u32 src_reg, bool is64)
761 u8 *prog = *pprog;
767 *pprog = prog;
773 static void maybe_emit_1mod(u8 **pprog, u32 reg, bool is64)
775 u8 *prog = *pprog;
781 *pprog = prog;
785 static void emit_ldx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off)
787 u8 *prog = *pprog;
811 *pprog = prog;
815 static void emit_ldsx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off)
817 u8 *prog = *pprog;
834 *pprog = prog;
838 static void emit_stx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off)
840 u8 *prog = *pprog;
868 *pprog = prog;
871 static int emit_atomic(u8 **pprog, u8 atomic_op,
874 u8 *prog = *pprog;
908 *pprog = prog;
941 static void emit_nops(u8 **pprog, int len)
943 u8 *prog = *pprog;
957 *pprog = prog;
971 static void emit_3vex(u8 **pprog, bool r, bool x, bool b, u8 m,
974 u8 *prog = *pprog;
1004 *pprog = prog;
1008 static void emit_shiftx(u8 **pprog, u32 dst_reg, u8 src_reg, bool is64, u8 op)
1010 u8 *prog = *pprog;
1016 *pprog = prog;
1956 u8 **pprog, int nr_stack_slots,
1992 prog = *pprog;
1999 *pprog = prog;
2129 static int invoke_bpf_prog(const struct btf_func_model *m, u8 **pprog,
2133 u8 *prog = *pprog;
2213 *pprog = prog;
2217 static void emit_align(u8 **pprog, u32 align)
2219 u8 *target, *prog = *pprog;
2225 *pprog = prog;
2228 static int emit_cond_near_jump(u8 **pprog, void *func, void *ip, u8 jmp_cond)
2230 u8 *prog = *pprog;
2239 *pprog = prog;
2243 static int invoke_bpf(const struct btf_func_model *m, u8 **pprog,
2248 u8 *prog = *pprog;
2255 *pprog = prog;
2259 static int invoke_bpf_mod_ret(const struct btf_func_model *m, u8 **pprog,
2263 u8 *prog = *pprog;
2291 *pprog = prog;
2611 static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs, u8 *image, u8 *buf)
2613 u8 *jg_reloc, *prog = *pprog;
2634 *pprog = prog;
2675 *pprog = prog;