Removed any refs to global id pools.

Also added container reference setup to thread creation
This commit is contained in:
Bahadir Balban
2009-08-10 15:16:57 +03:00
parent aa71161a04
commit 15b659eaf0
4 changed files with 14 additions and 15 deletions

View File

@@ -278,7 +278,6 @@ int init_first_pager(struct pager *pager,
pager->tcb = task;
task->pager = pager;
task->container = cont;
link_init(&task->cap_list.caps); /* TODO: Do this in tcb_alloc_init */
task->cap_list_ptr = &pager->cap_list;
/* Map the task's space */
@@ -326,7 +325,6 @@ int init_pager(struct pager *pager, struct container *cont)
pager->tcb = task;
task->pager = pager;
task->container = cont;
link_init(&task->cap_list.caps); /* TODO: Do this in tcb_alloc_init */
task->cap_list_ptr = &pager->cap_list;
add_mapping_pgd(pager->start_lma, pager->start_vma,

View File

@@ -83,7 +83,7 @@ void address_space_delete(struct address_space *space)
delete_page_tables(space);
/* Return the space id */
id_del(space_id_pool, space->spid);
id_del(&kernel_container.space_ids, space->spid);
/* Deallocate the space structure */
free_space(space);

View File

@@ -16,11 +16,6 @@
#include INC_SUBARCH(mm.h)
#include INC_GLUE(memory.h)
/* ID pools for threads and spaces. */
struct id_pool *thread_id_pool;
struct id_pool *space_id_pool;
void init_ktcb_list(struct ktcb_list *ktcb_list)
{
memset(ktcb_list, 0, sizeof(*ktcb_list));
@@ -36,6 +31,8 @@ void tcb_init(struct ktcb *new)
link_init(&new->task_list);
mutex_init(&new->thread_control_lock);
link_init(&new->cap_list.caps);
/* Initialise task's scheduling state and parameters. */
sched_init_task(new, TASK_PRIO_NORMAL);
@@ -92,7 +89,7 @@ void tcb_delete(struct ktcb *tcb)
address_space_reference_unlock();
/* Deallocate tcb ids */
id_del(thread_id_pool, tcb->tid);
id_del(&kernel_container.ktcb_ids, tcb->tid);
/* Free the tcb */
free_ktcb(tcb);