diff options
author | Richard Braun <rbraun@sceen.net> | 2017-07-13 20:07:07 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2017-07-13 20:07:07 +0200 |
commit | dd78bb04876f66e967773d6dd03ea9534fe43cc2 (patch) | |
tree | 4d3080abf0cbcca7c058cba5cad2ed71e5d5e1e5 /vm/vm_map.c | |
parent | 85292d947faabe8828810946c7a8067ef228d6fe (diff) |
Switch to initialization operations
Diffstat (limited to 'vm/vm_map.c')
-rw-r--r-- | vm/vm_map.c | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/vm/vm_map.c b/vm/vm_map.c index 389678b6..01e0ed5d 100644 --- a/vm/vm_map.c +++ b/vm/vm_map.c @@ -728,21 +728,50 @@ static struct shell_cmd vm_map_shell_cmds[] = { "display information about a VM map"), }; +static int __init +vm_map_setup_shell(void) +{ + SHELL_REGISTER_CMDS(vm_map_shell_cmds); + return 0; +} + +INIT_OP_DEFINE(vm_map_setup_shell, + INIT_OP_DEP(mutex_setup, true), + INIT_OP_DEP(printf_setup, true), + INIT_OP_DEP(shell_setup, true), + INIT_OP_DEP(task_setup, true), + INIT_OP_DEP(vm_map_setup, true)); + #endif /* X15_SHELL */ -void __init -vm_map_setup(void) +static int __init +vm_map_bootstrap(void) { vm_map_init(kernel_map, kernel_pmap, PMAP_MIN_KMEM_ADDRESS, PMAP_MAX_KMEM_ADDRESS); kmem_cache_init(&vm_map_entry_cache, "vm_map_entry", sizeof(struct vm_map_entry), 0, NULL, KMEM_CACHE_PAGE_ONLY); + return 0; +} + +INIT_OP_DEFINE(vm_map_bootstrap, + INIT_OP_DEP(kmem_bootstrap, true), + INIT_OP_DEP(thread_bootstrap, true)); + +static int __init +vm_map_setup(void) +{ kmem_cache_init(&vm_map_cache, "vm_map", sizeof(struct vm_map), - 0, NULL, 0); - SHELL_REGISTER_CMDS(vm_map_shell_cmds); + 0, NULL, KMEM_CACHE_PAGE_ONLY); + return 0; } +INIT_OP_DEFINE(vm_map_setup, + INIT_OP_DEP(pmap_setup, true), + INIT_OP_DEP(printf_setup, true), + INIT_OP_DEP(vm_map_bootstrap, true)); + int vm_map_create(struct vm_map **mapp) { |