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
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);
}
}
- 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();
}