Lines Matching defs:prog
22 * eBPF prog stack layout:
30 * | ... | eBPF prog stack
65 do { prog = emit_code(prog, bytes, len); cnt += len; } while (0)
209 u8 *prog = *pprog;
230 *pprog = prog;
237 u8 *prog = *pprog;
251 *pprog = prog;
288 u8 *prog = *pprog;
314 *pprog = prog;
321 u8 *prog = *pprog;
362 *pprog = prog;
369 u8 *prog = *pprog;
428 *pprog = prog;
438 u8 *prog = *pprog;
475 *pprog = prog;
485 u8 *prog = *pprog;
516 *pprog = prog;
527 u8 *prog = *pprog;
573 *pprog = prog;
582 u8 *prog = *pprog;
584 emit_ia32_alu_r(is64, false, op, dst_lo, src_lo, dstk, sstk, &prog);
587 &prog);
589 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
590 *pprog = prog;
601 u8 *prog = *pprog;
673 *pprog = prog;
682 u8 *prog = *pprog;
688 emit_ia32_alu_i(is64, false, op, dst_lo, val, dstk, &prog);
690 emit_ia32_alu_i(is64, true, op, dst_hi, hi, dstk, &prog);
692 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
694 *pprog = prog;
700 u8 *prog = *pprog;
727 *pprog = prog;
734 u8 *prog = *pprog;
780 *pprog = prog;
787 u8 *prog = *pprog;
833 *pprog = prog;
840 u8 *prog = *pprog;
886 *pprog = prog;
893 u8 *prog = *pprog;
934 *pprog = prog;
941 u8 *prog = *pprog;
983 *pprog = prog;
990 u8 *prog = *pprog;
1032 *pprog = prog;
1038 u8 *prog = *pprog;
1109 *pprog = prog;
1115 u8 *prog = *pprog;
1169 *pprog = prog;
1202 u8 *prog = *pprog;
1227 /* Set up BPF prog stack base register */
1241 *pprog = prog;
1247 u8 *prog = *pprog;
1268 *pprog = prog;
1273 u8 *prog = *pprog;
1281 *pprog = prog;
1293 * prog = array->ptrs[index];
1294 * if (prog == NULL)
1296 * goto *(prog->bpf_func + prologue_size);
1301 u8 *prog = *pprog;
1353 /* prog = array->ptrs[index]; */
1358 * if (prog == NULL)
1366 /* goto *(prog->bpf_func + prologue_size); */
1379 * edx == prog->bpf_func + prologue_size
1381 cnt += emit_jmp_edx(&prog, ip + cnt);
1387 *pprog = prog;
1393 u8 *prog = *pprog;
1406 *pprog = prog;
1411 u8 *prog = *pprog;
1419 *pprog = prog;
1578 u8 *prog = *pprog;
1600 emit_push_r64(bpf2ia32[i], &prog);
1603 emit_push_r32(bpf2ia32[i], &prog);
1654 *pprog = prog;
1668 u8 *prog = temp;
1670 emit_prologue(&prog, bpf_prog->aux->stack_depth);
1697 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
1701 &prog, bpf_prog->aux);
1706 dstk, &prog);
1741 src, dstk, sstk, &prog,
1746 imm32, dstk, &prog,
1756 sstk, &prog);
1763 false, &prog);
1767 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
1776 dstk, sstk, &prog);
1784 &prog);
1788 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
1799 src_lo, dstk, sstk, &prog);
1807 &prog);
1811 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
1827 false, &prog);
1829 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
1835 emit_ia32_lsh_i64(dst, imm32, dstk, &prog);
1841 emit_ia32_rsh_i64(dst, imm32, dstk, &prog);
1845 emit_ia32_lsh_r64(dst, src, dstk, sstk, &prog);
1849 emit_ia32_rsh_r64(dst, src, dstk, sstk, &prog);
1853 emit_ia32_arsh_r64(dst, src, dstk, sstk, &prog);
1859 emit_ia32_arsh_i64(dst, imm32, dstk, &prog);
1864 dst_lo, 0, dstk, &prog);
1866 emit_ia32_mov_i(dst_hi, 0, dstk, &prog);
1870 emit_ia32_neg64(dst, dstk, &prog);
1877 emit_ia32_mul_r64(dst, src, dstk, sstk, &prog);
1880 emit_ia32_mul_i64(dst, imm32, dstk, &prog);
1886 emit_ia32_to_le_r64(dst, imm32, dstk, &prog,
1891 emit_ia32_to_be_r64(dst, imm32, dstk, &prog,
1899 emit_ia32_mov_i(dst_lo, lo, dstk, &prog);
1900 emit_ia32_mov_i(dst_hi, hi, dstk, &prog);
2099 insn, &prog);
2122 emit_push_r64(r5, &prog);
2123 emit_push_r64(r4, &prog);
2124 emit_push_r64(r3, &prog);
2125 emit_push_r64(r2, &prog);
2141 emit_bpf_tail_call(&prog, image + addrs[i - 1]);
2472 emit_epilogue(&prog, bpf_prog->aux->stack_depth);
2487 ilen = prog - temp;
2511 prog = temp;
2521 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
2524 struct bpf_prog *tmp, *orig_prog = prog;
2533 if (!prog->jit_requested)
2536 tmp = bpf_jit_blind_constants(prog);
2543 if (tmp != prog) {
2545 prog = tmp;
2548 addrs = kmalloc_array(prog->len, sizeof(*addrs), GFP_KERNEL);
2550 prog = orig_prog;
2558 for (proglen = 0, i = 0; i < prog->len; i++) {
2571 proglen = do_jit(prog, addrs, image, oldproglen, &ctx);
2577 prog = orig_prog;
2592 prog = orig_prog;
2601 bpf_jit_dump(prog->len, proglen, pass + 1, image);
2605 prog->bpf_func = (void *)image;
2606 prog->jited = 1;
2607 prog->jited_len = proglen;
2609 prog = orig_prog;
2616 bpf_jit_prog_release_other(prog, prog == orig_prog ?
2618 return prog;