diff options
author | Alexis211 <alexis211@gmail.com> | 2010-02-05 20:49:34 +0100 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2010-02-05 20:49:34 +0100 |
commit | 893244c8b5272df86da5d333332eec26ae8f15f2 (patch) | |
tree | 066a20bc1cca70f1aa97df616b2b4fc31d698b40 /src/stem/task | |
parent | f9fd53ccbb1bb38ed21360179f44b27e2a729701 (diff) | |
download | TCE-893244c8b5272df86da5d333332eec26ae8f15f2.tar.gz TCE-893244c8b5272df86da5d333332eec26ae8f15f2.zip |
More work, does not work
Diffstat (limited to 'src/stem/task')
-rw-r--r-- | src/stem/task/task.c | 6 | ||||
-rw-r--r-- | src/stem/task/task.h | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/stem/task/task.c b/src/stem/task/task.c index 5ab001c..0352308 100644 --- a/src/stem/task/task.c +++ b/src/stem/task/task.c @@ -25,7 +25,7 @@ struct thread *threads = 0, *current_thread = 0, *idle_thread; uint32_t tasking_tmpStack[0x4000]; -void tasking_init(thread_entry whereToGo, void *data) { +void tasking_init() { cli(); kernel_process = kmalloc(sizeof(struct process)); //This process must be hidden to users kernel_process->pid = kernel_process->uid = kernel_process->threads = 0; @@ -36,10 +36,8 @@ void tasking_init(thread_entry whereToGo, void *data) { current_thread = 0; idle_thread = thread_new(kernel_process, task_idle, 0); threads = 0; //Do not include idle thread in threads - thread_new(kernel_process, whereToGo, data); sti(); - monitor_write("Tasking starting\n"); - tasking_switch(); + monitor_write("Tasking set up\n"); } static struct thread *thread_next() { diff --git a/src/stem/task/task.h b/src/stem/task/task.h index 1d1d121..c9f1794 100644 --- a/src/stem/task/task.h +++ b/src/stem/task/task.h @@ -41,7 +41,7 @@ struct thread { extern struct thread *current_thread; -void tasking_init(thread_entry whereToGo, void *data); +void tasking_init(); void tasking_switch(); void tasking_updateKernelPagetable(uint32_t idx, struct page_table *table, uint32_t tablePhysical); uint32_t tasking_handleException(struct registers *regs); |