Implemented vm_free_kernel_args() which frees all arguments from the kernel_args arguments

list (but not the structure itself).
Now calls heap_init_post_thread(), heap_init_post_sem() was called ..._postsem() before.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9457 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2004-10-23 13:52:42 +00:00
parent 2797f8cf8a
commit 25c4f39f68
1 changed files with 21 additions and 3 deletions

View File

@ -1862,7 +1862,25 @@ create_preloaded_image_areas(struct preloaded_image *image)
}
// ToDo: have a vm_free_kernel_args() called!
/** Frees all previously kernel arguments areas from the kernel_args structure.
* Any boot loader resources contained in that arguments must not be accessed
* anymore past this point.
*/
void
vm_free_kernel_args(kernel_args *args)
{
uint32 i;
TRACE(("vm_free_kernel_args()\n"));
for (i = 0; i < args->num_kernel_args_ranges; i++) {
area_id area = area_for((void *)args->kernel_args_range[i].start);
if (area >= B_OK)
delete_area(area);
}
}
static void
allocate_kernel_args(kernel_args *args)
@ -2032,7 +2050,7 @@ vm_init_post_sem(kernel_args *args)
region_hash_sem = create_sem(WRITE_COUNT, "region_hash_sem");
return heap_init_postsem(args);
return heap_init_post_sem(args);
}
@ -2048,7 +2066,7 @@ vm_init_post_thread(kernel_args *args)
vm_daemon_init();
return 0;
return heap_init_post_thread(args);
}