diff options
Diffstat (limited to 'kernel/main/kmain.c')
-rw-r--r-- | kernel/main/kmain.c | 13 |
1 files changed, 12 insertions, 1 deletions
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() |