Container/Pager/Capability initialization that works.

Need to safely free boot memory and jump to first task's stack.
Need to test scheduler and all syscall entries.
This commit is contained in:
Bahadir Balban
2009-08-04 13:56:11 +03:00
parent 7e8845abf8
commit 519bfba8c7
12 changed files with 150 additions and 126 deletions

View File

@@ -130,11 +130,13 @@ struct ktcb *tcb_find(l4id_t tid)
void tcb_add(struct ktcb *new)
{
spin_lock(&curcont->ktcb_list.list_lock);
struct container *c = new->container;
spin_lock(&c->ktcb_list.list_lock);
BUG_ON(!list_empty(&new->task_list));
BUG_ON(!++curcont->ktcb_list.count);
list_insert(&new->task_list, &curcont->ktcb_list.list);
spin_unlock(&curcont->ktcb_list.list_lock);
BUG_ON(!++c->ktcb_list.count);
list_insert(&new->task_list, &c->ktcb_list.list);
spin_unlock(&c->ktcb_list.list_lock);
}
void tcb_remove(struct ktcb *new)