summaryrefslogtreecommitdiff
path: root/vm/vm_kmem.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2017-07-13 20:07:07 +0200
committerRichard Braun <rbraun@sceen.net>2017-07-13 20:07:07 +0200
commitdd78bb04876f66e967773d6dd03ea9534fe43cc2 (patch)
tree4d3080abf0cbcca7c058cba5cad2ed71e5d5e1e5 /vm/vm_kmem.c
parent85292d947faabe8828810946c7a8067ef228d6fe (diff)
Switch to initialization operations
Diffstat (limited to 'vm/vm_kmem.c')
-rw-r--r--vm/vm_kmem.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/vm/vm_kmem.c b/vm/vm_kmem.c
index da372b0..dc204f8 100644
--- a/vm/vm_kmem.c
+++ b/vm/vm_kmem.c
@@ -22,7 +22,6 @@
#include <kern/cpumap.h>
#include <kern/init.h>
#include <kern/macros.h>
-#include <kern/panic.h>
#include <machine/page.h>
#include <machine/pmap.h>
#include <machine/types.h>
@@ -49,15 +48,22 @@ vm_kmem_offset(uintptr_t va)
return va - PMAP_MIN_KMEM_ADDRESS;
}
-void __init
+static int __init
vm_kmem_setup(void)
{
uint64_t size;
size = vm_kmem_offset(PMAP_MAX_KMEM_ADDRESS);
vm_object_init(&vm_kmem_kernel_object, size);
+ return 0;
}
+INIT_OP_DEFINE(vm_kmem_setup,
+ INIT_OP_DEP(pmap_bootstrap, true),
+ INIT_OP_DEP(vm_map_bootstrap, true),
+ INIT_OP_DEP(vm_object_setup, true),
+ INIT_OP_DEP(vm_page_setup, true));
+
static int
vm_kmem_alloc_check(size_t size)
{