From 2f8da5a5eb726f3c05b8fca19e82928d8acb147d Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Fri, 10 Oct 2025 18:49:43 -0400 Subject: kern: proc: Add initial penv block support This commit introduces the initial support for the process environment block and implements argv and argc. Signed-off-by: Ian Moffett --- src/sys/arch/amd64/os/os_proc.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/sys/arch') diff --git a/src/sys/arch/amd64/os/os_proc.c b/src/sys/arch/amd64/os/os_proc.c index b8e7c99..f2eb2b3 100644 --- a/src/sys/arch/amd64/os/os_proc.c +++ b/src/sys/arch/amd64/os/os_proc.c @@ -38,6 +38,7 @@ #include #include #include +#include #include extern struct proc g_rootproc; @@ -237,6 +238,7 @@ md_proc_kill(struct proc *procp, int flags) { const size_t PSIZE = DEFAULT_PAGESIZE; struct proc *self; + struct penv_blk *envblk; struct pcore *core = this_core(); struct md_pcb *pcbp; struct vm_range *range; @@ -259,6 +261,12 @@ md_proc_kill(struct proc *procp, int flags) vm_free_frame(range->pa_base, range->len / PSIZE); } + if ((envblk = procp->envblk) != NULL) { + ptrbox_terminate(procp->envblk_box); + kfree(envblk->argv); + procp->envblk = NULL; + } + /* Release the VAS */ pcbp = &procp->pcb; mmu_free_vas(&pcbp->vas); -- cgit v1.2.3