diff options
Diffstat (limited to 'kern/kernel.c')
-rw-r--r-- | kern/kernel.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/kern/kernel.c b/kern/kernel.c index 70cc8c71..760f68e8 100644 --- a/kern/kernel.c +++ b/kern/kernel.c @@ -22,31 +22,16 @@ #include <kern/thread.h> #include <machine/cpu.h> -static void __init -kernel_setup(void *arg) -{ - (void)arg; - - for (;;) - cpu_idle(); -} - void __init kernel_main(void) { - struct thread *thread; - int error; - assert(!cpu_intr_enabled()); task_setup(); thread_setup(); - cpu_mp_setup(); - - error = thread_create(&thread, "core", kernel_task, kernel_setup, NULL); - if (error) - panic("kernel: unable to create kernel thread"); + /* Interrupts are enabled by this call */ + cpu_mp_setup(); thread_run(); @@ -58,8 +43,7 @@ kernel_ap_main(void) { assert(cpu_intr_enabled()); - for (;;) - cpu_idle(); + thread_run(); /* Never reached */ } |