1 /* 2 ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 3 ** Distributed under the terms of the NewOS License. 4 */ 5 #ifndef KERNEL_ARCH_VM_TRANSLATION_MAP_H 6 #define KERNEL_ARCH_VM_TRANSLATION_MAP_H 7 8 9 #include <vm_translation_map.h> 10 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 int vm_translation_map_create(vm_translation_map *new_map, bool kernel); 17 int vm_translation_map_module_init(struct kernel_args *ka); 18 int vm_translation_map_module_init2(struct kernel_args *ka); 19 void vm_translation_map_module_init_post_sem(struct kernel_args *ka); 20 // quick function to map a page in regardless of map context. Used in VM initialization, 21 // before most vm data structures exist 22 status_t vm_translation_map_quick_map(struct kernel_args *ka, addr_t va, addr_t pa, 23 uint8 attributes, addr_t (*get_free_page)(struct kernel_args *)); 24 25 #ifdef __cplusplus 26 } 27 #endif 28 29 #include <arch_vm_translation_map.h> 30 31 #endif /* KERNEL_ARCH_VM_TRANSLATION_MAP_H */ 32 33