aboutsummaryrefslogtreecommitdiff
path: root/kernel/main/kmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/main/kmain.c')
-rw-r--r--kernel/main/kmain.c13
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()