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