| 557 | } |
| 558 | |
| 559 | static void |
| 560 | kcov_init(const void *unused) |
| 561 | { |
| 562 | struct make_dev_args args; |
| 563 | struct cdev *dev; |
| 564 | |
| 565 | mtx_init(&kcov_lock, "kcov lock", NULL, MTX_SPIN); |
| 566 | |
| 567 | make_dev_args_init(&args); |
| 568 | args.mda_devsw = &kcov_cdevsw; |
| 569 | args.mda_uid = UID_ROOT; |
| 570 | args.mda_gid = GID_WHEEL; |
| 571 | args.mda_mode = 0600; |
| 572 | if (make_dev_s(&args, &dev, "kcov") != 0) { |
| 573 | printf("%s", "Failed to create kcov device"); |
| 574 | return; |
| 575 | } |
| 576 | |
| 577 | EVENTHANDLER_REGISTER(thread_dtor, kcov_thread_dtor, NULL, |
| 578 | EVENTHANDLER_PRI_ANY); |
| 579 | } |
| 580 | |
| 581 | SYSINIT(kcovdev, SI_SUB_LAST, SI_ORDER_ANY, kcov_init, NULL); |
nothing calls this directly
no test coverage detected