From 6cfe0ddd014597113e0635fcdecba9db0cc2c64b Mon Sep 17 00:00:00 2001 From: sotech117 Date: Sun, 11 Feb 2024 07:36:50 +0000 Subject: basic implementation of most functions. not tested, but generally well thought out --- kernel/main/kmain.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'kernel/main/kmain.c') diff --git a/kernel/main/kmain.c b/kernel/main/kmain.c index 8dcb7e5..d037772 100644 --- a/kernel/main/kmain.c +++ b/kernel/main/kmain.c @@ -175,7 +175,18 @@ static void *initproc_run(long arg1, void *arg2) */ void initproc_start() { - NOT_YET_IMPLEMENTED("PROCS: initproc_start"); + // NOT_YET_IMPLEMENTED("PROCS: initproc_start"); + + proc_t *init_proc = proc_create("init"); + KASSERT(init_proc != NULL); + + kthread_t *init_thread = kthread_create(init_proc, initproc_run, 0, NULL); + KASSERT(init_thread != NULL); + + sched_make_runnable(init_thread); + + context_make_active(&curcore.kc_ctx); // start the scheduler + // TODO: ask about how the core is linked to scheduler } void initproc_finish() -- cgit v1.2.3-70-g09d2