From c1d914895fa08f5263a1c6421e65c82622b2fd59 Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Mon, 19 Nov 2012 01:19:20 +0100 Subject: kern/thread: preliminary scheduling implementation This change adds periodic timer interrupt reporting to the thread module, basic thread selection, and context switching. It currently only applies to the main processor. The x86/tcb module has been drastically simplified as a side effect. --- kern/kernel.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'kern/kernel.c') diff --git a/kern/kernel.c b/kern/kernel.c index 7c83d8d1..9e7f0435 100644 --- a/kern/kernel.c +++ b/kern/kernel.c @@ -27,10 +27,6 @@ kernel_setup(void *arg) { (void)arg; - cpu_mp_setup(); - - cpu_intr_enable(); - for (;;) cpu_idle(); } @@ -43,13 +39,14 @@ kernel_main(void) 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"); - thread_load(thread); + thread_run(); /* Never reached */ } -- cgit v1.2.3