xref: /haiku/headers/private/kernel/arch/vm.h (revision d3d8b26997fac34a84981e6d2b649521de2cc45a)
1 /*
2  * Copyright 2002-2005, Axel Dörfler, axeld@pinc-software.de.
3  * Distributed under the terms of the MIT License.
4  *
5  * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
6  * Distributed under the terms of the NewOS License.
7  */
8 #ifndef KERNEL_ARCH_VM_H
9 #define KERNEL_ARCH_VM_H
10 
11 
12 #include <vm.h>
13 #include <arch_vm.h>
14 
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 status_t arch_vm_init(struct kernel_args *args);
21 status_t arch_vm_init_post_area(struct kernel_args *args);
22 status_t arch_vm_init_end(struct kernel_args *args);
23 status_t arch_vm_init_post_modules(kernel_args *args);
24 void arch_vm_aspace_swap(vm_address_space *aspace);
25 bool arch_vm_supports_protection(uint32 protection);
26 
27 status_t arch_vm_set_memory_type(vm_area *area, addr_t physicalBase, uint32 type);
28 void arch_vm_unset_memory_type(vm_area *area);
29 
30 #ifdef __cplusplus
31 }
32 #endif
33 
34 #endif	/* KERNEL_ARCH_VM_H */
35