2 ** Copyright 2002-2010, The Haiku Team. All rights reserved.
3 ** Distributed under the terms of the Haiku License.
5 ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
6 ** Distributed under the terms of the NewOS License.
8 #ifndef KERNEL_ARCH_VM_TRANSLATION_MAP_H
9 #define KERNEL_ARCH_VM_TRANSLATION_MAP_H
12 #include <vm/VMTranslationMap.h>
19 status_t
arch_vm_translation_map_create_map(bool kernel
,
20 VMTranslationMap
** _map
);
22 status_t
arch_vm_translation_map_init(struct kernel_args
*args
,
23 VMPhysicalPageMapper
** _physicalPageMapper
);
24 status_t
arch_vm_translation_map_init_post_area(struct kernel_args
*args
);
25 status_t
arch_vm_translation_map_init_post_sem(struct kernel_args
*args
);
27 // Quick function to map a page in regardless of map context. Used in VM
28 // initialization before most vm data structures exist.
29 status_t
arch_vm_translation_map_early_map(struct kernel_args
*args
, addr_t va
,
30 phys_addr_t pa
, uint8 attributes
,
31 phys_addr_t (*get_free_page
)(struct kernel_args
*));
33 bool arch_vm_translation_map_is_kernel_page_accessible(addr_t virtualAddress
,
40 #include <arch_vm_translation_map.h>
42 #endif /* KERNEL_ARCH_VM_TRANSLATION_MAP_H */