do not edit — generated by btf.
git.druid.rocksindexdruid520kaboomsrc/kernel/exec.nsh

src/kernel/exec.nsh


/* exec's public api -- see exec.nsc. */
i64 sys_exec(ptr path, u64 path_len, i64 argc, ptr argv);
void proc_init(void);
u64 kaboom_current_pid(void);
 
/* the process table -- see exec.nsc's own top note for what this
 * honestly does and doesn't model, and for where the 10-slot size
 * below actually comes from. virtfs.nsc (/proc/self, /proc/ps) is the
 * only other reader. kaboom_proc_name is 10 flat 24-byte names, slot i
 * at offset i*24 (no arrays-of-structs, same flattening fd.nsc/kfs.nsc
 * already use elsewhere). */
global u64 kaboom_next_pid;
global i32 kaboom_proc_depth;
global u64 kaboom_proc_pid[10];
global i8 kaboom_proc_name[240];
global u64 kaboom_proc_pml4[10];
 
/* the boot-time cr3 (kmain.nsc sets this once, at kmain's very start,
 * before anything else runs) -- sys_exec (exec.nsc) needs to restore
 * this exact value whenever a depth-0 process returns, the same cross-
 * file global idiom as kaboom_next_pid above: declared+defined here
 * (an uninitialized global compiles to a .comm symbol, see jemit8.pl),
 * assigned once in kmain.nsc, read here. */
global u64 kernel_cr3;
powered by btf.