aboutsummaryrefslogtreecommitdiff
path: root/common/proc.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-05-28 14:08:12 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2022-05-28 14:08:12 +0300
commit96e5d8dc99010e2cec8bd2edf59545bd13f6f769 (patch)
treebd3e5433c042c28707ec787cd6a133e6307d3e51 /common/proc.c
parentc5ce4978958762849083143d1fcbe694b44b5c51 (diff)
downloadkmi-96e5d8dc99010e2cec8bd2edf59545bd13f6f769.tar.gz
kmi-96e5d8dc99010e2cec8bd2edf59545bd13f6f769.zip
start implementing new proc/rpc handling
+ Essentially, separate root process and remote procedure call handling. I really should write down some documentation so I don't forget, but essentially: All threads share a common process virtual memory, and when a thread wants to make an rpc, it switches over to its own rpc vmem space that is linked to the remote process.
Diffstat (limited to 'common/proc.c')
-rw-r--r--common/proc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/common/proc.c b/common/proc.c
index 3f6da6d..bf8a4d1 100644
--- a/common/proc.c
+++ b/common/proc.c
@@ -18,7 +18,7 @@ stat_t prepare_proc(struct tcb *t, vm_t bin, vm_t interp)
return ERR_INVAL;
alloc_stacks(t);
- prepare_thread(t);
+ set_thread(t, t->thread_stack_top);
set_return(entry);
return OK;
}
@@ -34,7 +34,7 @@ stat_t init_proc(void *fdt)
/* set current tcb */
use_tcb(t);
- use_vmem(t->b_r);
+ use_vmem(t->proc.vmem);
/* allocate stacks after ELF file to make sure nothing of importance
* clashes */