summaryrefslogtreecommitdiff
path: root/kern
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2016-08-05 15:00:07 +0200
committerRichard Braun <rbraun@sceen.net>2016-08-06 00:09:56 +0200
commitbc23dda642a299fb1380294f4e5940511bc512ef (patch)
tree2009cfe49bc974f36a7ce155a255aaf95ce281b7 /kern
parent4bccd10cfeaf126382467dd90d7339a98989b9d2 (diff)
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')
-rw-r--r--kern/task.c3
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);