1/* 2 * Copyright 2002-2007, 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 <arch_vm.h> 13 14#include <SupportDefs.h> 15 16 17struct kernel_args; 18struct VMAddressSpace; 19struct VMArea; 20 21 22#ifdef __cplusplus 23extern "C" { 24#endif 25 26status_t arch_vm_init(struct kernel_args *args); 27status_t arch_vm_init_post_area(struct kernel_args *args); 28status_t arch_vm_init_end(struct kernel_args *args); 29status_t arch_vm_init_post_modules(struct kernel_args *args); 30void arch_vm_aspace_swap(struct VMAddressSpace *from, 31 struct VMAddressSpace *to); 32bool arch_vm_supports_protection(uint32 protection); 33 34status_t arch_vm_set_memory_type(struct VMArea *area, phys_addr_t physicalBase, 35 uint32 type); 36void arch_vm_unset_memory_type(struct VMArea *area); 37 38#ifdef __cplusplus 39} 40#endif 41 42#endif /* KERNEL_ARCH_VM_H */ 43