Home
last modified time | relevance | path

Searched refs:subprog (Results 1 – 9 of 9) sorted by relevance

/OK3568_Linux_fs/kernel/drivers/net/ethernet/netronome/nfp/bpf/
H A Dverifier.c681 nfp_prog->subprog[index].needs_reg_push = 1; in nfp_assign_subprog_idx_and_regs()
709 frame_depths[frame] = nfp_prog->subprog[idx].stack_depth; in nfp_bpf_get_stack_usage()
768 nfp_prog->subprog = kcalloc(nfp_prog->subprog_cnt, in nfp_bpf_finalize()
769 sizeof(nfp_prog->subprog[0]), GFP_KERNEL); in nfp_bpf_finalize()
770 if (!nfp_prog->subprog) in nfp_bpf_finalize()
777 nfp_prog->subprog[i].stack_depth = info[i].stack_depth; in nfp_bpf_finalize()
783 nfp_prog->subprog[i].stack_depth += REG_WIDTH; in nfp_bpf_finalize()
785 if (nfp_prog->subprog[i].needs_reg_push) in nfp_bpf_finalize()
786 nfp_prog->subprog[i].stack_depth += BPF_REG_SIZE * 4; in nfp_bpf_finalize()
H A Dmain.h541 struct nfp_bpf_subprog_info *subprog; member
H A Doffload.c182 kfree(nfp_prog->subprog); in nfp_prog_free()
H A Djit.c3309 if (nfp_prog->subprog[meta->jmp_dst->subprog_idx].needs_reg_push) { in bpf_to_bpf_call()
3385 if (nfp_prog->subprog[meta->subprog_idx].needs_reg_push) { in nfp_subprog_epilogue()
3605 nfp_prog->subprog[jmp_dst->subprog_idx].needs_reg_push) { in nfp_fixup_branches()
3643 unsigned int depth = nfp_prog->subprog[meta->subprog_idx].stack_depth; in nfp_start_subprog()
3749 if (nfp_prog->subprog[idx].needs_reg_push) in nfp_prog_needs_callee_reg_save()
3831 depth = nfp_prog->subprog[0].stack_depth; in nfp_translate()
/OK3568_Linux_fs/kernel/kernel/bpf/
H A Dverifier.c1478 struct bpf_subprog_info *subprog = env->subprog_info; in check_subprogs() local
1506 subprog[env->subprog_cnt].start = insn_cnt; in check_subprogs()
1510 verbose(env, "func#%d @%d\n", i, subprog[i].start); in check_subprogs()
1513 subprog_start = subprog[cur_subprog].start; in check_subprogs()
1514 subprog_end = subprog[cur_subprog + 1].start; in check_subprogs()
1521 subprog[cur_subprog].has_tail_call = true; in check_subprogs()
1524 subprog[cur_subprog].has_ld_abs = true; in check_subprogs()
1548 subprog_end = subprog[cur_subprog + 1].start; in check_subprogs()
3261 struct bpf_subprog_info *subprog = env->subprog_info; in check_max_stack_depth() local
3288 if (idx && subprog[idx].has_tail_call && depth >= 256) { in check_max_stack_depth()
[all …]
H A Dbtf.c5136 int btf_check_func_arg_match(struct bpf_verifier_env *env, int subprog, in btf_check_func_arg_match() argument
5150 btf_id = prog->aux->func_info[subprog].type_id; in btf_check_func_arg_match()
5154 if (prog->aux->func_info_aux[subprog].unreliable) in btf_check_func_arg_match()
5163 subprog); in btf_check_func_arg_match()
5222 prog->aux->func_info_aux[subprog].unreliable = true; in btf_check_func_arg_match()
5233 int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog, in btf_prepare_func_args() argument
5246 prog->aux->func_info_aux[subprog].linkage != BTF_FUNC_GLOBAL) { in btf_prepare_func_args()
5251 btf_id = prog->aux->func_info[subprog].type_id; in btf_prepare_func_args()
5263 subprog); in btf_prepare_func_args()
5270 tname, subprog); in btf_prepare_func_args()
[all …]
/OK3568_Linux_fs/kernel/tools/lib/bpf/
H A Dlibbpf.c6214 struct bpf_program *subprog; in bpf_object__reloc_code() local
6254 subprog = find_prog_by_sec_insn(obj, obj->efile.text_shndx, sub_insn_idx); in bpf_object__reloc_code()
6255 if (!subprog) { in bpf_object__reloc_code()
6271 if (subprog->sub_insn_off == 0) { in bpf_object__reloc_code()
6272 subprog->sub_insn_off = main_prog->insns_cnt; in bpf_object__reloc_code()
6274 new_cnt = main_prog->insns_cnt + subprog->insns_cnt; in bpf_object__reloc_code()
6283 memcpy(main_prog->insns + subprog->sub_insn_off, subprog->insns, in bpf_object__reloc_code()
6284 subprog->insns_cnt * sizeof(*insns)); in bpf_object__reloc_code()
6287 main_prog->name, subprog->insns_cnt, subprog->name); in bpf_object__reloc_code()
6289 err = bpf_object__reloc_code(obj, main_prog, subprog); in bpf_object__reloc_code()
[all …]
/OK3568_Linux_fs/kernel/include/linux/
H A Dbpf.h1495 int btf_check_func_arg_match(struct bpf_verifier_env *env, int subprog,
1497 int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog,
/OK3568_Linux_fs/kernel/kernel/events/
H A Dcore.c8692 struct bpf_prog *subprog = prog->aux->func[i]; in perf_event_bpf_emit_ksymbols() local
8696 (u64)(unsigned long)subprog->bpf_func, in perf_event_bpf_emit_ksymbols()
8697 subprog->jited_len, unregister, in perf_event_bpf_emit_ksymbols()
8698 subprog->aux->ksym.name); in perf_event_bpf_emit_ksymbols()