Various changes to incorporate new utcb setup.

Issues with l4_return value not reaching client side
	modified:   libs/c/include/stdio.h
	modified:   src/arch/arm/exception.c
	modified:   src/glue/arm/init.c
	modified:   tasks/fs0/src/task.c
	modified:   tasks/libl4/include/l4lib/arch-arm/utcb.h
	modified:   tasks/libl4/src/arm/syscalls.S
	modified:   tasks/libl4/src/init.c
	deleted:    tasks/libl4/tagfilelist
	modified:   tasks/libposix/open.c
	modified:   tasks/mm0/include/utcb.h
	modified:   tasks/mm0/include/vm_area.h
	modified:   tasks/mm0/main.c
	modified:   tasks/mm0/src/init.c
	modified:   tasks/mm0/src/task.c
	modified:   tasks/mm0/src/utcb.c
	modified:   tasks/mm0/src/vm_object.c
This commit is contained in:
Bahadir Balban
2008-03-19 02:27:53 +00:00
parent ac3935a5d9
commit 16617eed36
16 changed files with 93 additions and 71 deletions

View File

@@ -20,21 +20,22 @@
/*
* Initialise the utcb virtual address pool and its own utcb.
* NOTE: This allocates memory so kmalloc must be initialised first.
* FIXME: Is this necessary anymore??? Who maps mm0's page to share?
*/
void init_utcb(void)
void init_utcb_page(void)
{
void *utcb_virt, *utcb_page;
void *utcb_virt, *utcb_phys;
/* Allocate and map one for self */
if (utcb_pool_init() < 0)
printf("UTCB initialisation failed.\n");
utcb_virt = utcb_vaddr_new();
printf("%s: Mapping 0x%x as utcb to self.\n", __TASKNAME__, utcb_virt);
utcb_page = alloc_page(1);
l4_map(utcb_page, utcb_virt, 1, MAP_USR_RW_FLAGS, self_tid());
utcb_phys = alloc_page(1);
l4_map(utcb_phys, utcb_virt, 1, MAP_USR_RW_FLAGS, self_tid());
/* Also initialise the utcb reference that is inside l4lib. */
utcb = utcb_virt;
/* Initialise the utcb page that is inside l4lib. */
utcb_page = utcb_virt;
}
void init_mm(struct initdata *initdata)
@@ -62,8 +63,8 @@ void init_mm(struct initdata *initdata)
shm_init();
printf("%s: Initialised shm structures.\n", __TASKNAME__);
init_utcb();
printf("%s: Initialised own utcb.\n", __TASKNAME__);
init_utcb_page();
printf("%s: Initialised mm0 utcb page.\n", __TASKNAME__);
/* Give the kernel some memory to use for its allocators */
l4_kmem_grant(__pfn(alloc_page(__pfn(SZ_1MB))), __pfn(SZ_1MB));