From da3b293ab432ffcb0a4384894803a0904ba9b801 Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Thu, 14 May 2009 10:57:31 +0300 Subject: [PATCH] Fixed a byte/pfn confusion. - During execve/map_stack when setting up the environment and argument stack, the stack map size was in bytes instead of pfns. - Can now execve 16 forked tasks with success. --- tasks/mm0/src/memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/mm0/src/memory.c b/tasks/mm0/src/memory.c index f06e2ef..bdace97 100644 --- a/tasks/mm0/src/memory.c +++ b/tasks/mm0/src/memory.c @@ -199,7 +199,7 @@ void *pager_validate_map_user_range2(struct tcb *user, void *userptr, { unsigned long start = page_align(userptr); unsigned long end = page_align_up(userptr + size); - unsigned long npages = end - start; + unsigned long npages = __pfn(end - start); void *virt, *virt_start; void *mapped = 0;