/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/bpf/ |
H A D | jit.c | 22 #define nfp_for_each_insn_walk2(nfp_prog, pos, next) \ 23 for (pos = list_first_entry(&(nfp_prog)->insns, typeof(*pos), l), \ 25 &(nfp_prog)->insns != &pos->l && \ 26 &(nfp_prog)->insns != &next->l; \ 30 #define nfp_for_each_insn_walk3(nfp_prog, pos, next, next2) \ 31 for (pos = list_first_entry(&(nfp_prog)->insns, typeof(*pos), l), \ 34 &(nfp_prog)->insns != &pos->l && \ 35 &(nfp_prog)->insns != &next->l && \ 36 &(nfp_prog)->insns != &next2->l; \ 42 nfp_meta_has_prev(struct nfp_prog *nfp_pro argument 47 nfp_prog_push(struct nfp_prog *nfp_prog, u64 insn) nfp_prog_push() argument 60 nfp_prog_current_offset(struct nfp_prog *nfp_prog) nfp_prog_current_offset() argument 66 nfp_prog_confirm_current_offset(struct nfp_prog *nfp_prog, unsigned int off) nfp_prog_confirm_current_offset() argument 79 __emit_cmd(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, u8 areg, u8 breg, u8 size, enum cmd_ctx_swap ctx, bool indir) __emit_cmd() argument 100 emit_cmd_any(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, swreg lreg, swreg rreg, u8 size, enum cmd_ctx_swap ctx, bool indir) emit_cmd_any() argument 127 emit_cmd(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, swreg lreg, swreg rreg, u8 size, enum cmd_ctx_swap ctx) emit_cmd() argument 134 emit_cmd_indir(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, swreg lreg, swreg rreg, u8 size, enum cmd_ctx_swap ctx) emit_cmd_indir() argument 141 __emit_br(struct nfp_prog *nfp_prog, enum br_mask mask, enum br_ev_pip ev_pip, enum br_ctx_signal_state css, u16 addr, u8 defer) __emit_br() argument 162 emit_br_relo(struct nfp_prog *nfp_prog, enum br_mask mask, u16 addr, u8 defer, enum nfp_relo_type relo) emit_br_relo() argument 180 emit_br(struct nfp_prog *nfp_prog, enum br_mask mask, u16 addr, u8 defer) emit_br() argument 186 __emit_br_bit(struct nfp_prog *nfp_prog, u16 areg, u16 breg, u16 addr, u8 defer, bool set, bool src_lmextn) __emit_br_bit() argument 208 emit_br_bit_relo(struct nfp_prog *nfp_prog, swreg src, u8 bit, u16 addr, u8 defer, bool set, enum nfp_relo_type relo) emit_br_bit_relo() argument 234 emit_br_bset(struct nfp_prog *nfp_prog, swreg src, u8 bit, u16 addr, u8 defer) emit_br_bset() argument 240 __emit_br_alu(struct nfp_prog *nfp_prog, u16 areg, u16 breg, u16 imm_hi, u8 defer, bool dst_lmextn, bool src_lmextn) __emit_br_alu() argument 256 emit_rtn(struct nfp_prog *nfp_prog, swreg base, u8 defer) emit_rtn() argument 272 __emit_immed(struct nfp_prog *nfp_prog, u16 areg, u16 breg, u16 imm_hi, enum immed_width width, bool invert, enum immed_shift shift, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_immed() argument 294 emit_immed(struct nfp_prog *nfp_prog, swreg dst, u16 imm, enum immed_width width, bool invert, enum immed_shift shift) emit_immed() argument 319 __emit_shf(struct nfp_prog *nfp_prog, u16 dst, enum alu_dst_ab dst_ab, enum shf_sc sc, u8 shift, u16 areg, enum shf_op op, u16 breg, bool i8, bool sw, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_shf() argument 363 emit_shf(struct nfp_prog *nfp_prog, swreg dst, swreg lreg, enum shf_op op, swreg rreg, enum shf_sc sc, u8 shift) emit_shf() argument 381 emit_shf_indir(struct nfp_prog *nfp_prog, swreg dst, swreg lreg, enum shf_op op, swreg rreg, enum shf_sc sc) emit_shf_indir() argument 394 __emit_alu(struct nfp_prog *nfp_prog, u16 dst, enum alu_dst_ab dst_ab, u16 areg, enum alu_op op, u16 breg, bool swap, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_alu() argument 415 emit_alu(struct nfp_prog *nfp_prog, swreg dst, swreg lreg, enum alu_op op, swreg rreg) emit_alu() argument 433 __emit_mul(struct nfp_prog *nfp_prog, enum alu_dst_ab dst_ab, u16 areg, enum mul_type type, enum mul_step step, u16 breg, bool swap, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_mul() argument 454 emit_mul(struct nfp_prog *nfp_prog, swreg lreg, enum mul_type type, enum mul_step step, swreg rreg) emit_mul() argument 487 __emit_ld_field(struct nfp_prog *nfp_prog, enum shf_sc sc, u8 areg, u8 bmask, u8 breg, u8 shift, bool imm8, bool zero, bool swap, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_ld_field() argument 511 emit_ld_field_any(struct nfp_prog *nfp_prog, swreg dst, u8 bmask, swreg src, enum shf_sc sc, u8 shift, bool zero) emit_ld_field_any() argument 530 emit_ld_field(struct nfp_prog *nfp_prog, swreg dst, u8 bmask, swreg src, enum shf_sc sc, u8 shift) emit_ld_field() argument 537 __emit_lcsr(struct nfp_prog *nfp_prog, u16 areg, u16 breg, bool wr, u16 addr, bool dst_lmextn, bool src_lmextn) __emit_lcsr() argument 553 emit_csr_wr(struct nfp_prog *nfp_prog, swreg src, u16 addr) emit_csr_wr() argument 579 __emit_csr_rd(struct nfp_prog *nfp_prog, u16 addr) __emit_csr_rd() argument 584 emit_nop(struct nfp_prog *nfp_prog) emit_nop() argument 608 wrp_immed(struct nfp_prog *nfp_prog, swreg dst, u32 imm) wrp_immed() argument 626 wrp_zext(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst) wrp_zext() argument 633 wrp_immed_relo(struct nfp_prog *nfp_prog, swreg dst, u32 imm, enum nfp_relo_type relo) wrp_immed_relo() argument 651 ur_load_imm_any(struct nfp_prog *nfp_prog, u32 imm, swreg tmp_reg) ur_load_imm_any() argument 664 re_load_imm_any(struct nfp_prog *nfp_prog, u32 imm, swreg tmp_reg) re_load_imm_any() argument 673 wrp_nops(struct nfp_prog *nfp_prog, unsigned int count) wrp_nops() argument 679 wrp_mov(struct nfp_prog *nfp_prog, swreg dst, swreg src) wrp_mov() argument 684 wrp_reg_mov(struct nfp_prog *nfp_prog, u16 dst, u16 src) wrp_reg_mov() argument 693 wrp_reg_subpart(struct nfp_prog *nfp_prog, swreg dst, swreg src, u8 field_len, u8 offset) wrp_reg_subpart() argument 706 wrp_reg_or_subpart(struct nfp_prog *nfp_prog, swreg dst, swreg src, u8 field_len, u8 offset) wrp_reg_or_subpart() argument 716 addr40_offset(struct nfp_prog *nfp_prog, u8 src_gpr, swreg offset, swreg *rega, swreg *regb) addr40_offset() argument 733 nfp_cpp_memcpy(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_cpp_memcpy() argument 868 data_ld(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, swreg offset, u8 dst_gpr, int size) data_ld() argument 898 data_ld_host_order(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst_gpr, swreg lreg, swreg rreg, int size, enum cmd_mode mode) data_ld_host_order() argument 929 data_ld_host_order_addr32(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 src_gpr, swreg offset, u8 dst_gpr, u8 size) data_ld_host_order_addr32() argument 937 data_ld_host_order_addr40(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 src_gpr, swreg offset, u8 dst_gpr, u8 size) data_ld_host_order_addr40() argument 949 construct_data_ind_ld(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u16 offset, u16 src, u8 size) construct_data_ind_ld() argument 970 construct_data_ld(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u16 offset, u8 size) construct_data_ld() argument 986 data_stx_host_order(struct nfp_prog *nfp_prog, u8 dst_gpr, swreg offset, u8 src_gpr, u8 size) data_stx_host_order() argument 1001 data_st_host_order(struct nfp_prog *nfp_prog, u8 dst_gpr, swreg offset, u64 imm, u8 size) data_st_host_order() argument 1020 wrp_lmem_load(struct nfp_prog *nfp_prog, u8 dst, u8 dst_byte, s32 off, unsigned int size, bool first, bool new_gpr, bool last, bool lm3, bool needs_inc) wrp_lmem_load() argument 1089 wrp_lmem_store(struct nfp_prog *nfp_prog, u8 src, u8 src_byte, s32 off, unsigned int size, bool first, bool new_gpr, bool last, bool lm3, bool needs_inc) wrp_lmem_store() argument 1161 mem_op_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size, unsigned int ptr_off, u8 gpr, u8 ptr_gpr, bool clr_gpr, lmem_step step) mem_op_stack() argument 1265 wrp_alu_imm(struct nfp_prog *nfp_prog, u8 dst, enum alu_op alu_op, u32 imm) wrp_alu_imm() argument 1294 wrp_alu64_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op, bool skip) wrp_alu64_imm() argument 1312 wrp_alu64_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op) wrp_alu64_reg() argument 1325 wrp_alu32_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op) wrp_alu32_imm() argument 1338 wrp_alu32_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op) wrp_alu32_reg() argument 1350 wrp_test_reg_one(struct nfp_prog *nfp_prog, u8 dst, enum alu_op alu_op, u8 src, enum br_mask br_mask, u16 off) wrp_test_reg_one() argument 1358 wrp_test_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op, enum br_mask br_mask) wrp_test_reg() argument 1400 cmp_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) cmp_imm() argument 1437 cmp_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) cmp_reg() argument 1465 wrp_end32(struct nfp_prog *nfp_prog, swreg reg_in, u8 gpr_out) wrp_end32() argument 1474 wrp_mul_u32(struct nfp_prog *nfp_prog, swreg dst_hi, swreg dst_lo, swreg lreg, swreg rreg, bool gen_high_half) wrp_mul_u32() argument 1491 wrp_mul_u16(struct nfp_prog *nfp_prog, swreg dst_hi, swreg dst_lo, swreg lreg, swreg rreg) wrp_mul_u16() argument 1501 wrp_mul(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, bool gen_high_half, bool ropnd_from_reg) wrp_mul() argument 1532 wrp_div_imm(struct nfp_prog *nfp_prog, u8 dst, u64 imm) wrp_div_imm() argument 1600 adjust_head(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) adjust_head() argument 1680 adjust_tail(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) adjust_tail() argument 1726 map_call_stack_common(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) map_call_stack_common() argument 1767 nfp_get_prandom_u32(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_get_prandom_u32() argument 1779 nfp_perf_event_output(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_perf_event_output() argument 1804 nfp_queue_select(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_queue_select() argument 1836 mov_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_reg64() argument 1859 mov_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_imm64() argument 1869 xor_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_reg64() argument 1874 xor_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_imm64() argument 1879 and_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_reg64() argument 1884 and_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_imm64() argument 1889 or_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_reg64() argument 1894 or_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_imm64() argument 1899 add_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_reg64() argument 1913 add_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_imm64() argument 1924 sub_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_reg64() argument 1938 sub_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_imm64() argument 1949 mul_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_reg64() argument 1954 mul_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_imm64() argument 1959 div_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_imm64() argument 1966 div_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_reg64() argument 1974 neg_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) neg_reg64() argument 1996 __shl_imm64(struct nfp_prog *nfp_prog, u8 dst, u8 shift_amt) __shl_imm64() argument 2019 shl_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_imm64() argument 2027 shl_reg64_lt32_high(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_lt32_high() argument 2037 shl_reg64_lt32_low(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_lt32_low() argument 2044 shl_reg64_lt32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_lt32() argument 2050 shl_reg64_ge32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_ge32() argument 2058 shl_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_reg64() argument 2111 __shr_imm64(struct nfp_prog *nfp_prog, u8 dst, u8 shift_amt) __shr_imm64() argument 2133 shr_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_imm64() argument 2142 shr_reg64_lt32_high(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_lt32_high() argument 2149 shr_reg64_lt32_low(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_lt32_low() argument 2156 shr_reg64_lt32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_lt32() argument 2162 shr_reg64_ge32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_ge32() argument 2170 shr_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_reg64() argument 2215 __ashr_imm64(struct nfp_prog *nfp_prog, u8 dst, u8 shift_amt) __ashr_imm64() argument 2245 ashr_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_imm64() argument 2253 ashr_reg64_lt32_high(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_lt32_high() argument 2263 ashr_reg64_lt32_low(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_lt32_low() argument 2271 ashr_reg64_lt32(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_lt32() argument 2277 ashr_reg64_ge32(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_ge32() argument 2287 ashr_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_reg64() argument 2326 mov_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_reg() argument 2336 mov_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_imm() argument 2346 xor_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_reg() argument 2351 xor_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_imm() argument 2356 and_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_reg() argument 2361 and_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_imm() argument 2366 or_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_reg() argument 2371 or_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_imm() argument 2376 add_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_reg() argument 2381 add_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_imm() argument 2386 sub_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_reg() argument 2391 sub_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_imm() argument 2396 mul_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_reg() argument 2401 mul_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_imm() argument 2406 div_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_reg() argument 2411 div_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_imm() argument 2416 neg_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) neg_reg() argument 2427 __ashr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst, u8 shift_amt) __ashr_imm() argument 2442 ashr_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_reg() argument 2466 ashr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_imm() argument 2475 __shr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst, u8 shift_amt) __shr_imm() argument 2485 shr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_imm() argument 2493 shr_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_reg() argument 2514 __shl_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst, u8 shift_amt) __shl_imm() argument 2524 shl_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_imm() argument 2532 shl_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_reg() argument 2550 end_reg32(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) end_reg32() argument 2579 imm_ld8_part2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) imm_ld8_part2() argument 2600 imm_ld8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) imm_ld8() argument 2606 data_ld1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ld1() argument 2611 data_ld2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ld2() argument 2616 data_ld4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ld4() argument 2621 data_ind_ld1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ind_ld1() argument 2627 data_ind_ld2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ind_ld2() argument 2633 data_ind_ld4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ind_ld4() argument 2640 mem_ldx_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size, unsigned int ptr_off) mem_ldx_stack() argument 2648 mem_ldx_skb(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 size) mem_ldx_skb() argument 2679 mem_ldx_xdp(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 size) mem_ldx_xdp() argument 2706 mem_ldx_data(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data() argument 2718 mem_ldx_emem(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_emem() argument 2730 mem_ldx_data_init_pktcache(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx_data_init_pktcache() argument 2756 mem_ldx_data_from_pktcache_unaligned(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data_from_pktcache_unaligned() argument 2810 mem_ldx_data_from_pktcache_aligned(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data_from_pktcache_aligned() argument 2840 mem_ldx_data_from_pktcache(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data_from_pktcache() argument 2852 mem_ldx(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx() argument 2886 mem_ldx1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx1() argument 2891 mem_ldx2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx2() argument 2896 mem_ldx4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx4() argument 2901 mem_ldx8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx8() argument 2907 mem_st_data(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_st_data() argument 2919 mem_st(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_st() argument 2928 mem_st1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st1() argument 2933 mem_st2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st2() argument 2938 mem_st4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st4() argument 2943 mem_st8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st8() argument 2949 mem_stx_data(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_stx_data() argument 2961 mem_stx_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size, unsigned int ptr_off) mem_stx_stack() argument 2969 mem_stx_xdp(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx_xdp() argument 2981 mem_stx(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_stx() argument 2994 mem_stx1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx1() argument 2999 mem_stx2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx2() argument 3004 mem_stx4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx4() argument 3012 mem_stx8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx8() argument 3018 mem_xadd(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, bool is64) mem_xadd() argument 3112 mem_xadd4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_xadd4() argument 3117 mem_xadd8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_xadd8() argument 3122 jump(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jump() argument 3129 jeq_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jeq_imm() argument 3158 jeq32_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jeq32_imm() argument 3171 jset_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jset_imm() argument 3193 jne_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jne_imm() argument 3227 jeq_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jeq_reg() argument 3245 jset_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jset_reg() argument 3250 jne_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jne_reg() argument 3256 bpf_to_bpf_call(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) bpf_to_bpf_call() argument 3341 helper_call(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) helper_call() argument 3362 call(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) call() argument 3375 goto_out(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) goto_out() argument 3383 nfp_subprog_epilogue(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_subprog_epilogue() argument 3407 jmp_exit(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jmp_exit() argument 3535 nfp_fixup_immed_relo(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct nfp_insn_meta *jmp_dst, u32 br_idx) nfp_fixup_immed_relo() argument 3548 nfp_fixup_branches(struct nfp_prog *nfp_prog) nfp_fixup_branches() argument 3626 nfp_intro(struct nfp_prog *nfp_prog) nfp_intro() argument 3634 nfp_subprog_prologue(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_subprog_prologue() argument 3641 nfp_start_subprog(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_start_subprog() argument 3654 nfp_outro_tc_da(struct nfp_prog *nfp_prog) nfp_outro_tc_da() argument 3705 nfp_outro_xdp(struct nfp_prog *nfp_prog) nfp_outro_xdp() argument 3744 nfp_prog_needs_callee_reg_save(struct nfp_prog *nfp_prog) nfp_prog_needs_callee_reg_save() argument 3755 nfp_push_callee_registers(struct nfp_prog *nfp_prog) nfp_push_callee_registers() argument 3780 nfp_pop_callee_registers(struct nfp_prog *nfp_prog) nfp_pop_callee_registers() argument 3805 nfp_outro(struct nfp_prog *nfp_prog) nfp_outro() argument 3825 nfp_translate(struct nfp_prog *nfp_prog) nfp_translate() argument 3882 nfp_bpf_opt_reg_init(struct nfp_prog *nfp_prog) nfp_bpf_opt_reg_init() argument 3908 nfp_bpf_opt_neg_add_sub(struct nfp_prog *nfp_prog) nfp_bpf_opt_neg_add_sub() argument 3952 nfp_bpf_opt_ld_mask(struct nfp_prog *nfp_prog) nfp_bpf_opt_ld_mask() argument 3991 nfp_bpf_opt_ld_shift(struct nfp_prog *nfp_prog) nfp_bpf_opt_ld_shift() argument 4180 nfp_bpf_opt_ldst_gather(struct nfp_prog *nfp_prog) nfp_bpf_opt_ldst_gather() argument 4270 nfp_bpf_opt_pkt_cache(struct nfp_prog *nfp_prog) nfp_bpf_opt_pkt_cache() argument 4384 nfp_bpf_optimize(struct nfp_prog *nfp_prog) nfp_bpf_optimize() argument 4397 nfp_bpf_replace_map_ptrs(struct nfp_prog *nfp_prog) nfp_bpf_replace_map_ptrs() argument 4447 nfp_bpf_prog_trim(struct nfp_prog *nfp_prog) nfp_bpf_prog_trim() argument 4461 nfp_bpf_jit(struct nfp_prog *nfp_prog) nfp_bpf_jit() argument 4485 nfp_bpf_jit_prepare(struct nfp_prog *nfp_prog) nfp_bpf_jit_prepare() argument 4528 nfp_bpf_relo_for_vnic(struct nfp_prog *nfp_prog, struct nfp_bpf_vnic *bv) nfp_bpf_relo_for_vnic() argument [all...] |
H A D | offload.c | 31 nfp_map_ptr_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_map_ptr_record() argument 41 nfp_prog->map_records[nfp_prog->map_records_cnt++] = record; in nfp_map_ptr_record() 66 nfp_prog->map_records[nfp_prog->map_records_cnt++] = record; in nfp_map_ptr_record() 78 nfp_map_ptrs_forget(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog) in nfp_map_ptrs_forget() argument 83 for (i = 0; i < nfp_prog->map_records_cnt; i++) { in nfp_map_ptrs_forget() 84 if (--nfp_prog in nfp_map_ptrs_forget() 111 nfp_map_ptrs_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, struct bpf_prog *prog) nfp_map_ptrs_record() argument 151 nfp_prog_prepare(struct nfp_prog *nfp_prog, const struct bpf_insn *prog, unsigned int cnt) nfp_prog_prepare() argument 178 nfp_prog_free(struct nfp_prog *nfp_prog) nfp_prog_free() argument 193 struct nfp_prog *nfp_prog; nfp_bpf_verifier_prep() local 222 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv; nfp_bpf_translate() local 249 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv; nfp_bpf_destroy() local 499 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv; nfp_net_bpf_load() local [all...] |
H A D | verifier.c | 20 nfp_bpf_goto_meta(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, in nfp_bpf_goto_meta() argument 28 if (min(forward, backward) > nfp_prog->n_insns - insn_idx - 1) { in nfp_bpf_goto_meta() 29 backward = nfp_prog->n_insns - insn_idx - 1; in nfp_bpf_goto_meta() 30 meta = nfp_prog_last_meta(nfp_prog); in nfp_bpf_goto_meta() 34 meta = nfp_prog_first_meta(nfp_prog); in nfp_bpf_goto_meta() 48 nfp_record_adjust_head(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_record_adjust_head() argument 69 if (nfp_prog->adjust_head_location) { in nfp_record_adjust_head() 71 if (nfp_prog in nfp_record_adjust_head() 170 nfp_bpf_check_helper_call(struct nfp_prog *nfp_prog, struct bpf_verifier_env *env, struct nfp_insn_meta *meta) nfp_bpf_check_helper_call() argument 311 nfp_bpf_check_exit(struct nfp_prog *nfp_prog, struct bpf_verifier_env *env) nfp_bpf_check_exit() argument 343 nfp_bpf_check_stack_access(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, const struct bpf_reg_state *reg, struct bpf_verifier_env *env) nfp_bpf_check_stack_access() argument 451 nfp_bpf_check_ptr(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env, u8 reg_no) nfp_bpf_check_ptr() argument 502 nfp_bpf_check_store(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env) nfp_bpf_check_store() argument 526 nfp_bpf_check_xadd(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env) nfp_bpf_check_xadd() argument 551 nfp_bpf_check_alu(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env) nfp_bpf_check_alu() argument 629 struct nfp_prog *nfp_prog = env->prog->aux->offload->dev_priv; nfp_verify_insn() local 668 nfp_assign_subprog_idx_and_regs(struct bpf_verifier_env *env, struct nfp_prog *nfp_prog) nfp_assign_subprog_idx_and_regs() argument 693 nfp_bpf_get_stack_usage(struct nfp_prog *nfp_prog) nfp_bpf_get_stack_usage() argument 747 nfp_bpf_insn_flag_zext(struct nfp_prog *nfp_prog, struct bpf_insn_aux_data *aux) nfp_bpf_insn_flag_zext() argument 761 struct nfp_prog *nfp_prog; nfp_bpf_finalize() local 805 struct nfp_prog *nfp_prog = env->prog->aux->offload->dev_priv; nfp_bpf_opt_replace_insn() local 838 struct nfp_prog *nfp_prog = env->prog->aux->offload->dev_priv; nfp_bpf_opt_remove_insns() local [all...] |
H A D | main.h | 233 struct nfp_prog; 235 typedef int (*instr_cb_t)(struct nfp_prog *, struct nfp_insn_meta *); 237 #define nfp_prog_first_meta(nfp_prog) \ 238 list_first_entry(&(nfp_prog)->insns, struct nfp_insn_meta, l) 239 #define nfp_prog_last_meta(nfp_prog) \ 240 list_last_entry(&(nfp_prog)->insns, struct nfp_insn_meta, l) 293 * @off: index of first generated machine instruction (in nfp_prog.prog) 298 * @l: link on nfp_prog->insns list 489 * struct nfp_prog - nfp BPF program 513 struct nfp_prog { struct [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/bpf/ |
H A D | jit.c | 22 #define nfp_for_each_insn_walk2(nfp_prog, pos, next) \ 23 for (pos = list_first_entry(&(nfp_prog)->insns, typeof(*pos), l), \ 25 &(nfp_prog)->insns != &pos->l && \ 26 &(nfp_prog)->insns != &next->l; \ 30 #define nfp_for_each_insn_walk3(nfp_prog, pos, next, next2) \ 31 for (pos = list_first_entry(&(nfp_prog)->insns, typeof(*pos), l), \ 34 &(nfp_prog)->insns != &pos->l && \ 35 &(nfp_prog)->insns != &next->l && \ 36 &(nfp_prog)->insns != &next2->l; \ 42 nfp_meta_has_prev(struct nfp_prog *nfp_pro argument 47 nfp_prog_push(struct nfp_prog *nfp_prog, u64 insn) nfp_prog_push() argument 60 nfp_prog_current_offset(struct nfp_prog *nfp_prog) nfp_prog_current_offset() argument 66 nfp_prog_confirm_current_offset(struct nfp_prog *nfp_prog, unsigned int off) nfp_prog_confirm_current_offset() argument 79 __emit_cmd(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, u8 areg, u8 breg, u8 size, enum cmd_ctx_swap ctx, bool indir) __emit_cmd() argument 100 emit_cmd_any(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, swreg lreg, swreg rreg, u8 size, enum cmd_ctx_swap ctx, bool indir) emit_cmd_any() argument 127 emit_cmd(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, swreg lreg, swreg rreg, u8 size, enum cmd_ctx_swap ctx) emit_cmd() argument 134 emit_cmd_indir(struct nfp_prog *nfp_prog, enum cmd_tgt_map op, u8 mode, u8 xfer, swreg lreg, swreg rreg, u8 size, enum cmd_ctx_swap ctx) emit_cmd_indir() argument 141 __emit_br(struct nfp_prog *nfp_prog, enum br_mask mask, enum br_ev_pip ev_pip, enum br_ctx_signal_state css, u16 addr, u8 defer) __emit_br() argument 162 emit_br_relo(struct nfp_prog *nfp_prog, enum br_mask mask, u16 addr, u8 defer, enum nfp_relo_type relo) emit_br_relo() argument 180 emit_br(struct nfp_prog *nfp_prog, enum br_mask mask, u16 addr, u8 defer) emit_br() argument 186 __emit_br_bit(struct nfp_prog *nfp_prog, u16 areg, u16 breg, u16 addr, u8 defer, bool set, bool src_lmextn) __emit_br_bit() argument 208 emit_br_bit_relo(struct nfp_prog *nfp_prog, swreg src, u8 bit, u16 addr, u8 defer, bool set, enum nfp_relo_type relo) emit_br_bit_relo() argument 234 emit_br_bset(struct nfp_prog *nfp_prog, swreg src, u8 bit, u16 addr, u8 defer) emit_br_bset() argument 240 __emit_br_alu(struct nfp_prog *nfp_prog, u16 areg, u16 breg, u16 imm_hi, u8 defer, bool dst_lmextn, bool src_lmextn) __emit_br_alu() argument 256 emit_rtn(struct nfp_prog *nfp_prog, swreg base, u8 defer) emit_rtn() argument 272 __emit_immed(struct nfp_prog *nfp_prog, u16 areg, u16 breg, u16 imm_hi, enum immed_width width, bool invert, enum immed_shift shift, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_immed() argument 294 emit_immed(struct nfp_prog *nfp_prog, swreg dst, u16 imm, enum immed_width width, bool invert, enum immed_shift shift) emit_immed() argument 319 __emit_shf(struct nfp_prog *nfp_prog, u16 dst, enum alu_dst_ab dst_ab, enum shf_sc sc, u8 shift, u16 areg, enum shf_op op, u16 breg, bool i8, bool sw, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_shf() argument 363 emit_shf(struct nfp_prog *nfp_prog, swreg dst, swreg lreg, enum shf_op op, swreg rreg, enum shf_sc sc, u8 shift) emit_shf() argument 381 emit_shf_indir(struct nfp_prog *nfp_prog, swreg dst, swreg lreg, enum shf_op op, swreg rreg, enum shf_sc sc) emit_shf_indir() argument 394 __emit_alu(struct nfp_prog *nfp_prog, u16 dst, enum alu_dst_ab dst_ab, u16 areg, enum alu_op op, u16 breg, bool swap, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_alu() argument 415 emit_alu(struct nfp_prog *nfp_prog, swreg dst, swreg lreg, enum alu_op op, swreg rreg) emit_alu() argument 433 __emit_mul(struct nfp_prog *nfp_prog, enum alu_dst_ab dst_ab, u16 areg, enum mul_type type, enum mul_step step, u16 breg, bool swap, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_mul() argument 454 emit_mul(struct nfp_prog *nfp_prog, swreg lreg, enum mul_type type, enum mul_step step, swreg rreg) emit_mul() argument 487 __emit_ld_field(struct nfp_prog *nfp_prog, enum shf_sc sc, u8 areg, u8 bmask, u8 breg, u8 shift, bool imm8, bool zero, bool swap, bool wr_both, bool dst_lmextn, bool src_lmextn) __emit_ld_field() argument 511 emit_ld_field_any(struct nfp_prog *nfp_prog, swreg dst, u8 bmask, swreg src, enum shf_sc sc, u8 shift, bool zero) emit_ld_field_any() argument 530 emit_ld_field(struct nfp_prog *nfp_prog, swreg dst, u8 bmask, swreg src, enum shf_sc sc, u8 shift) emit_ld_field() argument 537 __emit_lcsr(struct nfp_prog *nfp_prog, u16 areg, u16 breg, bool wr, u16 addr, bool dst_lmextn, bool src_lmextn) __emit_lcsr() argument 553 emit_csr_wr(struct nfp_prog *nfp_prog, swreg src, u16 addr) emit_csr_wr() argument 579 __emit_csr_rd(struct nfp_prog *nfp_prog, u16 addr) __emit_csr_rd() argument 584 emit_nop(struct nfp_prog *nfp_prog) emit_nop() argument 608 wrp_immed(struct nfp_prog *nfp_prog, swreg dst, u32 imm) wrp_immed() argument 626 wrp_zext(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst) wrp_zext() argument 633 wrp_immed_relo(struct nfp_prog *nfp_prog, swreg dst, u32 imm, enum nfp_relo_type relo) wrp_immed_relo() argument 651 ur_load_imm_any(struct nfp_prog *nfp_prog, u32 imm, swreg tmp_reg) ur_load_imm_any() argument 664 re_load_imm_any(struct nfp_prog *nfp_prog, u32 imm, swreg tmp_reg) re_load_imm_any() argument 673 wrp_nops(struct nfp_prog *nfp_prog, unsigned int count) wrp_nops() argument 679 wrp_mov(struct nfp_prog *nfp_prog, swreg dst, swreg src) wrp_mov() argument 684 wrp_reg_mov(struct nfp_prog *nfp_prog, u16 dst, u16 src) wrp_reg_mov() argument 693 wrp_reg_subpart(struct nfp_prog *nfp_prog, swreg dst, swreg src, u8 field_len, u8 offset) wrp_reg_subpart() argument 706 wrp_reg_or_subpart(struct nfp_prog *nfp_prog, swreg dst, swreg src, u8 field_len, u8 offset) wrp_reg_or_subpart() argument 716 addr40_offset(struct nfp_prog *nfp_prog, u8 src_gpr, swreg offset, swreg *rega, swreg *regb) addr40_offset() argument 733 nfp_cpp_memcpy(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_cpp_memcpy() argument 868 data_ld(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, swreg offset, u8 dst_gpr, int size) data_ld() argument 898 data_ld_host_order(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst_gpr, swreg lreg, swreg rreg, int size, enum cmd_mode mode) data_ld_host_order() argument 929 data_ld_host_order_addr32(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 src_gpr, swreg offset, u8 dst_gpr, u8 size) data_ld_host_order_addr32() argument 937 data_ld_host_order_addr40(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 src_gpr, swreg offset, u8 dst_gpr, u8 size) data_ld_host_order_addr40() argument 949 construct_data_ind_ld(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u16 offset, u16 src, u8 size) construct_data_ind_ld() argument 970 construct_data_ld(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u16 offset, u8 size) construct_data_ld() argument 986 data_stx_host_order(struct nfp_prog *nfp_prog, u8 dst_gpr, swreg offset, u8 src_gpr, u8 size) data_stx_host_order() argument 1001 data_st_host_order(struct nfp_prog *nfp_prog, u8 dst_gpr, swreg offset, u64 imm, u8 size) data_st_host_order() argument 1020 wrp_lmem_load(struct nfp_prog *nfp_prog, u8 dst, u8 dst_byte, s32 off, unsigned int size, bool first, bool new_gpr, bool last, bool lm3, bool needs_inc) wrp_lmem_load() argument 1089 wrp_lmem_store(struct nfp_prog *nfp_prog, u8 src, u8 src_byte, s32 off, unsigned int size, bool first, bool new_gpr, bool last, bool lm3, bool needs_inc) wrp_lmem_store() argument 1161 mem_op_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size, unsigned int ptr_off, u8 gpr, u8 ptr_gpr, bool clr_gpr, lmem_step step) mem_op_stack() argument 1265 wrp_alu_imm(struct nfp_prog *nfp_prog, u8 dst, enum alu_op alu_op, u32 imm) wrp_alu_imm() argument 1294 wrp_alu64_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op, bool skip) wrp_alu64_imm() argument 1312 wrp_alu64_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op) wrp_alu64_reg() argument 1325 wrp_alu32_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op) wrp_alu32_imm() argument 1338 wrp_alu32_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op) wrp_alu32_reg() argument 1350 wrp_test_reg_one(struct nfp_prog *nfp_prog, u8 dst, enum alu_op alu_op, u8 src, enum br_mask br_mask, u16 off) wrp_test_reg_one() argument 1358 wrp_test_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, enum alu_op alu_op, enum br_mask br_mask) wrp_test_reg() argument 1400 cmp_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) cmp_imm() argument 1437 cmp_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) cmp_reg() argument 1465 wrp_end32(struct nfp_prog *nfp_prog, swreg reg_in, u8 gpr_out) wrp_end32() argument 1474 wrp_mul_u32(struct nfp_prog *nfp_prog, swreg dst_hi, swreg dst_lo, swreg lreg, swreg rreg, bool gen_high_half) wrp_mul_u32() argument 1491 wrp_mul_u16(struct nfp_prog *nfp_prog, swreg dst_hi, swreg dst_lo, swreg lreg, swreg rreg) wrp_mul_u16() argument 1501 wrp_mul(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, bool gen_high_half, bool ropnd_from_reg) wrp_mul() argument 1532 wrp_div_imm(struct nfp_prog *nfp_prog, u8 dst, u64 imm) wrp_div_imm() argument 1600 adjust_head(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) adjust_head() argument 1680 adjust_tail(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) adjust_tail() argument 1726 map_call_stack_common(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) map_call_stack_common() argument 1767 nfp_get_prandom_u32(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_get_prandom_u32() argument 1779 nfp_perf_event_output(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_perf_event_output() argument 1804 nfp_queue_select(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_queue_select() argument 1836 mov_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_reg64() argument 1859 mov_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_imm64() argument 1869 xor_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_reg64() argument 1874 xor_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_imm64() argument 1879 and_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_reg64() argument 1884 and_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_imm64() argument 1889 or_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_reg64() argument 1894 or_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_imm64() argument 1899 add_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_reg64() argument 1913 add_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_imm64() argument 1924 sub_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_reg64() argument 1938 sub_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_imm64() argument 1949 mul_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_reg64() argument 1954 mul_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_imm64() argument 1959 div_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_imm64() argument 1966 div_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_reg64() argument 1974 neg_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) neg_reg64() argument 1996 __shl_imm64(struct nfp_prog *nfp_prog, u8 dst, u8 shift_amt) __shl_imm64() argument 2019 shl_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_imm64() argument 2027 shl_reg64_lt32_high(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_lt32_high() argument 2037 shl_reg64_lt32_low(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_lt32_low() argument 2044 shl_reg64_lt32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_lt32() argument 2050 shl_reg64_ge32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shl_reg64_ge32() argument 2058 shl_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_reg64() argument 2111 __shr_imm64(struct nfp_prog *nfp_prog, u8 dst, u8 shift_amt) __shr_imm64() argument 2133 shr_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_imm64() argument 2142 shr_reg64_lt32_high(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_lt32_high() argument 2149 shr_reg64_lt32_low(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_lt32_low() argument 2156 shr_reg64_lt32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_lt32() argument 2162 shr_reg64_ge32(struct nfp_prog *nfp_prog, u8 dst, u8 src) shr_reg64_ge32() argument 2170 shr_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_reg64() argument 2215 __ashr_imm64(struct nfp_prog *nfp_prog, u8 dst, u8 shift_amt) __ashr_imm64() argument 2245 ashr_imm64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_imm64() argument 2253 ashr_reg64_lt32_high(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_lt32_high() argument 2263 ashr_reg64_lt32_low(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_lt32_low() argument 2271 ashr_reg64_lt32(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_lt32() argument 2277 ashr_reg64_ge32(struct nfp_prog *nfp_prog, u8 dst, u8 src) ashr_reg64_ge32() argument 2287 ashr_reg64(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_reg64() argument 2326 mov_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_reg() argument 2336 mov_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mov_imm() argument 2346 xor_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_reg() argument 2351 xor_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) xor_imm() argument 2356 and_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_reg() argument 2361 and_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) and_imm() argument 2366 or_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_reg() argument 2371 or_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) or_imm() argument 2376 add_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_reg() argument 2381 add_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) add_imm() argument 2386 sub_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_reg() argument 2391 sub_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) sub_imm() argument 2396 mul_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_reg() argument 2401 mul_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mul_imm() argument 2406 div_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_reg() argument 2411 div_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) div_imm() argument 2416 neg_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) neg_reg() argument 2427 __ashr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst, u8 shift_amt) __ashr_imm() argument 2442 ashr_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_reg() argument 2466 ashr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) ashr_imm() argument 2475 __shr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst, u8 shift_amt) __shr_imm() argument 2485 shr_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_imm() argument 2493 shr_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shr_reg() argument 2514 __shl_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 dst, u8 shift_amt) __shl_imm() argument 2524 shl_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_imm() argument 2532 shl_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) shl_reg() argument 2550 end_reg32(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) end_reg32() argument 2579 imm_ld8_part2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) imm_ld8_part2() argument 2600 imm_ld8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) imm_ld8() argument 2606 data_ld1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ld1() argument 2611 data_ld2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ld2() argument 2616 data_ld4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ld4() argument 2621 data_ind_ld1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ind_ld1() argument 2627 data_ind_ld2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ind_ld2() argument 2633 data_ind_ld4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) data_ind_ld4() argument 2640 mem_ldx_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size, unsigned int ptr_off) mem_ldx_stack() argument 2648 mem_ldx_skb(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 size) mem_ldx_skb() argument 2679 mem_ldx_xdp(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, u8 size) mem_ldx_xdp() argument 2706 mem_ldx_data(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data() argument 2718 mem_ldx_emem(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_emem() argument 2730 mem_ldx_data_init_pktcache(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx_data_init_pktcache() argument 2756 mem_ldx_data_from_pktcache_unaligned(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data_from_pktcache_unaligned() argument 2810 mem_ldx_data_from_pktcache_aligned(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data_from_pktcache_aligned() argument 2840 mem_ldx_data_from_pktcache(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx_data_from_pktcache() argument 2852 mem_ldx(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_ldx() argument 2886 mem_ldx1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx1() argument 2891 mem_ldx2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx2() argument 2896 mem_ldx4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx4() argument 2901 mem_ldx8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_ldx8() argument 2907 mem_st_data(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_st_data() argument 2919 mem_st(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_st() argument 2928 mem_st1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st1() argument 2933 mem_st2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st2() argument 2938 mem_st4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st4() argument 2943 mem_st8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_st8() argument 2949 mem_stx_data(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_stx_data() argument 2961 mem_stx_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size, unsigned int ptr_off) mem_stx_stack() argument 2969 mem_stx_xdp(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx_xdp() argument 2981 mem_stx(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, unsigned int size) mem_stx() argument 2994 mem_stx1(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx1() argument 2999 mem_stx2(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx2() argument 3004 mem_stx4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx4() argument 3012 mem_stx8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_stx8() argument 3018 mem_xadd(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, bool is64) mem_xadd() argument 3112 mem_atomic4(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_atomic4() argument 3120 mem_atomic8(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) mem_atomic8() argument 3128 jump(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jump() argument 3135 jeq_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jeq_imm() argument 3164 jeq32_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jeq32_imm() argument 3177 jset_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jset_imm() argument 3199 jne_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jne_imm() argument 3233 jeq_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jeq_reg() argument 3251 jset_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jset_reg() argument 3256 jne_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jne_reg() argument 3262 bpf_to_bpf_call(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) bpf_to_bpf_call() argument 3347 helper_call(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) helper_call() argument 3368 call(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) call() argument 3381 goto_out(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) goto_out() argument 3389 nfp_subprog_epilogue(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_subprog_epilogue() argument 3413 jmp_exit(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) jmp_exit() argument 3541 nfp_fixup_immed_relo(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct nfp_insn_meta *jmp_dst, u32 br_idx) nfp_fixup_immed_relo() argument 3554 nfp_fixup_branches(struct nfp_prog *nfp_prog) nfp_fixup_branches() argument 3632 nfp_intro(struct nfp_prog *nfp_prog) nfp_intro() argument 3640 nfp_subprog_prologue(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_subprog_prologue() argument 3647 nfp_start_subprog(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta) nfp_start_subprog() argument 3660 nfp_outro_tc_da(struct nfp_prog *nfp_prog) nfp_outro_tc_da() argument 3711 nfp_outro_xdp(struct nfp_prog *nfp_prog) nfp_outro_xdp() argument 3750 nfp_prog_needs_callee_reg_save(struct nfp_prog *nfp_prog) nfp_prog_needs_callee_reg_save() argument 3761 nfp_push_callee_registers(struct nfp_prog *nfp_prog) nfp_push_callee_registers() argument 3786 nfp_pop_callee_registers(struct nfp_prog *nfp_prog) nfp_pop_callee_registers() argument 3811 nfp_outro(struct nfp_prog *nfp_prog) nfp_outro() argument 3831 nfp_translate(struct nfp_prog *nfp_prog) nfp_translate() argument 3888 nfp_bpf_opt_reg_init(struct nfp_prog *nfp_prog) nfp_bpf_opt_reg_init() argument 3914 nfp_bpf_opt_neg_add_sub(struct nfp_prog *nfp_prog) nfp_bpf_opt_neg_add_sub() argument 3958 nfp_bpf_opt_ld_mask(struct nfp_prog *nfp_prog) nfp_bpf_opt_ld_mask() argument 3997 nfp_bpf_opt_ld_shift(struct nfp_prog *nfp_prog) nfp_bpf_opt_ld_shift() argument 4186 nfp_bpf_opt_ldst_gather(struct nfp_prog *nfp_prog) nfp_bpf_opt_ldst_gather() argument 4276 nfp_bpf_opt_pkt_cache(struct nfp_prog *nfp_prog) nfp_bpf_opt_pkt_cache() argument 4390 nfp_bpf_optimize(struct nfp_prog *nfp_prog) nfp_bpf_optimize() argument 4403 nfp_bpf_replace_map_ptrs(struct nfp_prog *nfp_prog) nfp_bpf_replace_map_ptrs() argument 4453 nfp_bpf_prog_trim(struct nfp_prog *nfp_prog) nfp_bpf_prog_trim() argument 4467 nfp_bpf_jit(struct nfp_prog *nfp_prog) nfp_bpf_jit() argument 4491 nfp_bpf_jit_prepare(struct nfp_prog *nfp_prog) nfp_bpf_jit_prepare() argument 4534 nfp_bpf_relo_for_vnic(struct nfp_prog *nfp_prog, struct nfp_bpf_vnic *bv) nfp_bpf_relo_for_vnic() argument [all...] |
H A D | offload.c | 31 nfp_map_ptr_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_map_ptr_record() argument 41 nfp_prog->map_records[nfp_prog->map_records_cnt++] = record; in nfp_map_ptr_record() 66 nfp_prog->map_records[nfp_prog->map_records_cnt++] = record; in nfp_map_ptr_record() 78 nfp_map_ptrs_forget(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog) in nfp_map_ptrs_forget() argument 83 for (i = 0; i < nfp_prog->map_records_cnt; i++) { in nfp_map_ptrs_forget() 84 if (--nfp_prog in nfp_map_ptrs_forget() 111 nfp_map_ptrs_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, struct bpf_prog *prog) nfp_map_ptrs_record() argument 151 nfp_prog_prepare(struct nfp_prog *nfp_prog, const struct bpf_insn *prog, unsigned int cnt) nfp_prog_prepare() argument 178 nfp_prog_free(struct nfp_prog *nfp_prog) nfp_prog_free() argument 193 struct nfp_prog *nfp_prog; nfp_bpf_verifier_prep() local 222 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv; nfp_bpf_translate() local 249 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv; nfp_bpf_destroy() local 499 struct nfp_prog *nfp_prog = prog->aux->offload->dev_priv; nfp_net_bpf_load() local [all...] |
H A D | verifier.c | 20 nfp_bpf_goto_meta(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, in nfp_bpf_goto_meta() argument 28 if (min(forward, backward) > nfp_prog->n_insns - insn_idx - 1) { in nfp_bpf_goto_meta() 29 backward = nfp_prog->n_insns - insn_idx - 1; in nfp_bpf_goto_meta() 30 meta = nfp_prog_last_meta(nfp_prog); in nfp_bpf_goto_meta() 34 meta = nfp_prog_first_meta(nfp_prog); in nfp_bpf_goto_meta() 48 nfp_record_adjust_head(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, in nfp_record_adjust_head() argument 69 if (nfp_prog->adjust_head_location) { in nfp_record_adjust_head() 71 if (nfp_prog in nfp_record_adjust_head() 170 nfp_bpf_check_helper_call(struct nfp_prog *nfp_prog, struct bpf_verifier_env *env, struct nfp_insn_meta *meta) nfp_bpf_check_helper_call() argument 311 nfp_bpf_check_exit(struct nfp_prog *nfp_prog, struct bpf_verifier_env *env) nfp_bpf_check_exit() argument 343 nfp_bpf_check_stack_access(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, const struct bpf_reg_state *reg, struct bpf_verifier_env *env) nfp_bpf_check_stack_access() argument 451 nfp_bpf_check_ptr(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env, u8 reg_no) nfp_bpf_check_ptr() argument 502 nfp_bpf_check_store(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env) nfp_bpf_check_store() argument 526 nfp_bpf_check_atomic(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env) nfp_bpf_check_atomic() argument 556 nfp_bpf_check_alu(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta, struct bpf_verifier_env *env) nfp_bpf_check_alu() argument 634 struct nfp_prog *nfp_prog = env->prog->aux->offload->dev_priv; nfp_verify_insn() local 673 nfp_assign_subprog_idx_and_regs(struct bpf_verifier_env *env, struct nfp_prog *nfp_prog) nfp_assign_subprog_idx_and_regs() argument 698 nfp_bpf_get_stack_usage(struct nfp_prog *nfp_prog) nfp_bpf_get_stack_usage() argument 752 nfp_bpf_insn_flag_zext(struct nfp_prog *nfp_prog, struct bpf_insn_aux_data *aux) nfp_bpf_insn_flag_zext() argument 766 struct nfp_prog *nfp_prog; nfp_bpf_finalize() local 810 struct nfp_prog *nfp_prog = env->prog->aux->offload->dev_priv; nfp_bpf_opt_replace_insn() local 843 struct nfp_prog *nfp_prog = env->prog->aux->offload->dev_priv; nfp_bpf_opt_remove_insns() local [all...] |
H A D | main.h | 233 struct nfp_prog; 235 typedef int (*instr_cb_t)(struct nfp_prog *, struct nfp_insn_meta *); 237 #define nfp_prog_first_meta(nfp_prog) \ 238 list_first_entry(&(nfp_prog)->insns, struct nfp_insn_meta, l) 239 #define nfp_prog_last_meta(nfp_prog) \ 240 list_last_entry(&(nfp_prog)->insns, struct nfp_insn_meta, l) 293 * @off: index of first generated machine instruction (in nfp_prog.prog) 298 * @l: link on nfp_prog->insns list 489 * struct nfp_prog - nfp BPF program 513 struct nfp_prog { struct [all...] |