diff --git a/share/man/man9/SYSINIT.9 b/share/man/man9/SYSINIT.9 --- a/share/man/man9/SYSINIT.9 +++ b/share/man/man9/SYSINIT.9 @@ -62,6 +62,7 @@ struct sysinit { enum sysinit_sub_id subsystem; /* subsystem identifier*/ enum sysinit_elem_order order; /* init order within subsystem*/ + SLIST_ENTRY(sysinit) next; /* singly-linked list */ sysinit_cfunc_t func; /* function */ const void *udata; /* multiplexer/argument */ }; diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -51,7 +51,7 @@ #ifdef _KERNEL -/* for intrhook below */ +/* for intrhook and sysinit linked list below */ #include /* for timestamping SYSINITs; other files may assume this is included here */ @@ -221,6 +221,7 @@ struct sysinit { enum sysinit_sub_id subsystem; /* subsystem identifier*/ enum sysinit_elem_order order; /* init order within subsystem*/ + SLIST_ENTRY(sysinit) next; /* singly-linked list */ sysinit_cfunc_t func; /* function */ const void *udata; /* multiplexer/argument */ }; @@ -261,6 +262,7 @@ static struct sysinit uniquifier ## _sys_init = { \ subsystem, \ order, \ + { NULL }, \ sysinit_tslog_shim, \ &uniquifier ## _sys_init_tslog \ }; \ @@ -270,6 +272,7 @@ static struct sysinit uniquifier ## _sys_init = { \ subsystem, \ order, \ + { NULL }, \ func, \ (ident) \ }; \ @@ -287,6 +290,7 @@ static struct sysinit uniquifier ## _sys_uninit = { \ subsystem, \ order, \ + { NULL }, \ func, \ (ident) \ }; \