X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=kernel%2Fcore%2Fthread.cc;fp=kernel%2Fcore%2Fthread.cc;h=80451c0f8a3c5e5157a64c68b24fd9d62750f663;hp=140bee3c5542edfd0b561acce9a918d0caf8e12d;hb=1ac390fe1e18444008857b056c947710be9621a8;hpb=6e64b28821757af60447c790ae52a91831a9d4f0 diff --git a/kernel/core/thread.cc b/kernel/core/thread.cc index 140bee3..80451c0 100644 --- a/kernel/core/thread.cc +++ b/kernel/core/thread.cc @@ -244,7 +244,8 @@ namespace Threads { runqueue_lock.unlock_irq(); } - Thread *Sched::new_thread(thread_func func, void *arg, char *name) + Thread *Sched::new_thread(thread_func func, void *arg1, + void *arg2, char *name) { // Allocate a page for the thread's stack, and stick the thread // struct at the top of the stack. It's placed at the top rather @@ -273,10 +274,10 @@ namespace Threads { t->time_slice = prio_to_slice(t->ts_prio); t->blocked_on = NULL; t->last_replenish = 0; - t->addr_space = NULL; - t->active_addr_space = NULL; + t->aspace = NULL; + t->active_aspace = NULL; - t->arch.init(reinterpret_cast(func), arg); + t->arch.init(reinterpret_cast(func), arg1, arg2); if (name) strncpy(t->name, name, Thread::name_len); @@ -385,13 +386,13 @@ namespace Threads { } } - void Thread::set_aspace(Mem::ProcAddrSpace *aspace) + void Thread::set_aspace(Mem::ProcAddrSpace *ASPACE) { // FIXME: lock thread against scheduling; this temporary method should // be gone before SMP anyway. ll_ints_off(); - addr_space = active_addr_space = aspace; + aspace = active_aspace = ASPACE; Arch::set_aspace(aspace); ll_ints_on(); }