summaryrefslogtreecommitdiff
path: root/arch/x86/machine/pmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/machine/pmap.h')
-rw-r--r--arch/x86/machine/pmap.h31
1 files changed, 16 insertions, 15 deletions
diff --git a/arch/x86/machine/pmap.h b/arch/x86/machine/pmap.h
index 84042583..114dcdac 100644
--- a/arch/x86/machine/pmap.h
+++ b/arch/x86/machine/pmap.h
@@ -165,6 +165,7 @@
#include <stdint.h>
#include <kern/cpumap.h>
+#include <kern/init.h>
#include <kern/list.h>
#include <kern/mutex.h>
#include <kern/thread.h>
@@ -203,22 +204,9 @@ pmap_pte_t * pmap_setup_paging(void);
pmap_pte_t * pmap_ap_setup_paging(void);
/*
- * Early initialization of the pmap module.
+ * Initialize the pmap module on APs.
*/
-void pmap_bootstrap(void);
-
-/*
- * Early initialization of the MMU on APs.
- */
-void pmap_ap_bootstrap(void);
-
-/*
- * Set up the pmap module.
- *
- * This function should only be called by the VM system, once kernel
- * allocations can be performed safely.
- */
-void pmap_setup(void);
+void pmap_ap_setup(void);
/*
* Set up the pmap module for multiprocessor operations.
@@ -330,6 +318,19 @@ pmap_current(void)
return cpu_local_read(pmap_current_ptr);
}
+/*
+ * This init operation provides :
+ * - kernel pmap operations
+ */
+INIT_OP_DECLARE(pmap_bootstrap);
+
+/*
+ * This init operation provides :
+ * - user pmap creation
+ * - module fully initialized
+ */
+INIT_OP_DECLARE(pmap_setup);
+
#endif /* __ASSEMBLER__ */
#endif /* _X86_PMAP_H */