Lines Matching defs:nsim_dev
30 struct nsim_dev *nsim_dev;
69 if (state->nsim_dev->bpf_bind_verifier_delay && !insn_idx)
70 msleep(state->nsim_dev->bpf_bind_verifier_delay);
75 if (!state->nsim_dev->bpf_bind_verifier_accept)
212 static int nsim_bpf_create_prog(struct nsim_dev *nsim_dev,
223 state->nsim_dev = nsim_dev;
228 sprintf(name, "%u", nsim_dev->prog_id_gen++);
229 state->ddir = debugfs_create_dir(name, nsim_dev->ddir_bpf_bound_progs);
241 mutex_lock(&nsim_dev->progs_list_lock);
242 list_add_tail(&state->l, &nsim_dev->bpf_bound_progs);
243 mutex_unlock(&nsim_dev->progs_list_lock);
252 struct nsim_dev *nsim_dev =
255 if (!nsim_dev->bpf_bind_accept)
258 return nsim_bpf_create_prog(nsim_dev, prog);
272 struct nsim_dev *nsim_dev;
275 nsim_dev = state->nsim_dev;
279 mutex_lock(&nsim_dev->progs_list_lock);
281 mutex_unlock(&nsim_dev->progs_list_lock);
521 list_add_tail(&nmap->l, &ns->nsim_dev->bpf_bound_maps);
581 int nsim_bpf_dev_init(struct nsim_dev *nsim_dev)
585 INIT_LIST_HEAD(&nsim_dev->bpf_bound_progs);
586 INIT_LIST_HEAD(&nsim_dev->bpf_bound_maps);
588 nsim_dev->ddir_bpf_bound_progs = debugfs_create_dir("bpf_bound_progs",
589 nsim_dev->ddir);
590 if (IS_ERR(nsim_dev->ddir_bpf_bound_progs))
591 return PTR_ERR(nsim_dev->ddir_bpf_bound_progs);
593 nsim_dev->bpf_dev = bpf_offload_dev_create(&nsim_bpf_dev_ops, nsim_dev);
594 err = PTR_ERR_OR_ZERO(nsim_dev->bpf_dev);
598 nsim_dev->bpf_bind_accept = true;
599 debugfs_create_bool("bpf_bind_accept", 0600, nsim_dev->ddir,
600 &nsim_dev->bpf_bind_accept);
601 debugfs_create_u32("bpf_bind_verifier_delay", 0600, nsim_dev->ddir,
602 &nsim_dev->bpf_bind_verifier_delay);
603 nsim_dev->bpf_bind_verifier_accept = true;
604 debugfs_create_bool("bpf_bind_verifier_accept", 0600, nsim_dev->ddir,
605 &nsim_dev->bpf_bind_verifier_accept);
609 void nsim_bpf_dev_exit(struct nsim_dev *nsim_dev)
611 WARN_ON(!list_empty(&nsim_dev->bpf_bound_progs));
612 WARN_ON(!list_empty(&nsim_dev->bpf_bound_maps));
613 bpf_offload_dev_destroy(nsim_dev->bpf_dev);
621 err = bpf_offload_dev_netdev_register(ns->nsim_dev->bpf_dev,
653 bpf_offload_dev_netdev_unregister(ns->nsim_dev->bpf_dev, ns->netdev);