diff options
author | Richard Braun <rbraun@sceen.net> | 2016-08-05 15:00:07 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2016-08-06 00:09:56 +0200 |
commit | bc23dda642a299fb1380294f4e5940511bc512ef (patch) | |
tree | 2009cfe49bc974f36a7ce155a255aaf95ce281b7 /kern/task.c | |
parent | 4bccd10cfeaf126382467dd90d7339a98989b9d2 (diff) | |
download | gnumach-bc23dda642a299fb1380294f4e5940511bc512ef.tar.gz gnumach-bc23dda642a299fb1380294f4e5940511bc512ef.tar.bz2 gnumach-bc23dda642a299fb1380294f4e5940511bc512ef.zip |
Augment VM maps with task names
This change improves the clarity of "no more room for ..." VM map
allocation errors.
* kern/task.c (task_init): Call vm_map_set_name for the kernel map.
(task_create): Call vm_map_set_name where appropriate.
* vm/vm_map.c (vm_map_setup): Set map name to NULL.
(vm_map_find_entry_anywhere): Update error message to include map name.
* vm/vm_map.h (struct vm_map): New `name' member.
(vm_map_set_name): New inline function.
Diffstat (limited to 'kern/task.c')
-rw-r--r-- | kern/task.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kern/task.c b/kern/task.c index d721f172..673a4378 100644 --- a/kern/task.c +++ b/kern/task.c @@ -75,6 +75,7 @@ void task_init(void) */ (void) task_create(TASK_NULL, FALSE, &kernel_task); (void) task_set_name(kernel_task, "gnumach"); + vm_map_set_name(kernel_map, kernel_task->name); } kern_return_t task_create( @@ -99,10 +100,12 @@ kern_return_t task_create( new_task->map = kernel_map; } else if (inherit_memory) { new_task->map = vm_map_fork(parent_task->map); + vm_map_set_name(new_task->map, new_task->name); } else { new_task->map = vm_map_create(pmap_create(0), round_page(VM_MIN_ADDRESS), trunc_page(VM_MAX_ADDRESS), TRUE); + vm_map_set_name(new_task->map, new_task->name); } simple_lock_init(&new_task->lock); |