xref: /haiku/headers/private/kernel/arch/arm/arch_vm.h (revision 03187b607b2b5eec7ee059f1ead09bdba14991fb)
1 /*
2  * Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef ARCH_ARM_VM_H
6 #define ARCH_ARM_VM_H
7 
8 //#include <vm_translation_map.h>
9 
10 /* This many pages will be read/written on I/O if possible */
11 
12 #define NUM_IO_PAGES	4
13 	/* 16 kB */
14 
15 #define PAGE_SHIFT 12
16 
17 
18 struct arm_vm_ops {
19 //	void *(*arm_translation_map_get_pgdir)(vm_translation_map *map);
20 /*	status_t (*arch_vm_translation_map_init_map)(vm_translation_map *map, bool kernel);
21 	status_t (*arch_vm_translation_map_init_kernel_map_post_sem)(vm_translation_map *map);
22 	status_t (*arch_vm_translation_map_init)(kernel_args *args);
23 	status_t (*arch_vm_translation_map_init_post_area)(kernel_args *args);
24 	status_t (*arch_vm_translation_map_init_post_sem)(kernel_args *args);
25 	status_t (*arch_vm_translation_map_early_map)(kernel_args *ka, addr_t virtualAddress, addr_t physicalAddress,
26 		uint8 attributes, addr_t (*get_free_page)(kernel_args *));
27 	status_t (*arch_vm_translation_map_early_query)(addr_t va, addr_t *out_physical);*/
28 //	void (*m68k_set_pgdir)(void *);
29 };
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 extern struct arm_vm_ops *get_vm_ops();
36 
37 //extern void *arm_translation_map_get_pgdir(vm_translation_map *map);
38 //extern void arm_set_pgdir(void *rt);
39 
40 #ifdef __cplusplus
41 }
42 #endif
43 
44 #endif	/* ARCH_M68K_VM_H */
45