diff --git a/src/generic/container.c b/src/generic/container.c index 76a019e..fa8047f 100644 --- a/src/generic/container.c +++ b/src/generic/container.c @@ -159,9 +159,9 @@ int init_first_pager(struct pager *pager, link_init(&space->list); mutex_init(&space->lock); space->pgd = current_pgd; + address_space_attach(task, space); /* Initialize container relationships */ - task->space = space; pager->tcb = task; task->pager = pager; task->container = cont; diff --git a/src/glue/arm/init.c b/src/glue/arm/init.c index 17caa41..e343acc 100644 --- a/src/glue/arm/init.c +++ b/src/glue/arm/init.c @@ -404,6 +404,12 @@ void init_finalize(struct kernel_container *kcont) */ kip.utcb = (u32)current->utcb_address; + /* + * Added the first pager's space area to + * the address space list of the related container + */ + address_space_add(current->space); + /* * Start the scheduler, jumping to task */