]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - kernel/core/thread.cc
update
[polintos/scott/priv.git] / kernel / core / thread.cc
index 140bee3c5542edfd0b561acce9a918d0caf8e12d..80451c0f8a3c5e5157a64c68b24fd9d62750f663 100644 (file)
@@ -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<void *>(func), arg);
+               t->arch.init(reinterpret_cast<void *>(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();
        }