MCPcopy Create free account
hub / github.com/F-Stack/f-stack / init_dynamic_kenv

Function init_dynamic_kenv

freebsd/kern/kern_environment.c:377–399  ·  view source on GitHub ↗

* Setup the dynamic kernel environment. */

Source from the content-addressed store, hash-verified

375 * Setup the dynamic kernel environment.
376 */
377static void
378init_dynamic_kenv(void *data __unused)
379{
380 int dynamic_envpos;
381 int size;
382
383 TUNABLE_INT_FETCH("kenv_mvallen", &kenv_mvallen);
384 size = KENV_MNAMELEN + 1 + kenv_mvallen + 1;
385
386 kenv_zone = uma_zcreate("kenv", size, NULL, NULL, NULL, NULL,
387 UMA_ALIGN_PTR, 0);
388
389 kenvp = malloc((KENV_SIZE + 1) * sizeof(char *), M_KENV,
390 M_WAITOK | M_ZERO);
391
392 dynamic_envpos = 0;
393 init_dynamic_kenv_from(md_envp, &dynamic_envpos);
394 init_dynamic_kenv_from(kern_envp, &dynamic_envpos);
395 kenvp[dynamic_envpos] = NULL;
396
397 mtx_init(&kenv_lock, "kernel environment", NULL, MTX_DEF);
398 dynamic_kenv = true;
399}
400SYSINIT(kenv, SI_SUB_KMEM + 1, SI_ORDER_FIRST, init_dynamic_kenv, NULL);
401
402void

Callers

nothing calls this directly

Calls 4

uma_zcreateFunction · 0.85
mallocFunction · 0.85
init_dynamic_kenv_fromFunction · 0.85
mtx_initFunction · 0.85

Tested by

no test coverage detected