bcc2c157a1
* Pulled the physical page mapping functions out of vm_translation_map into a new interface VMPhysicalPageMapper. * Renamed vm_translation_map to VMTranslationMap and made it a proper C++ class. The functions in the operations vector have become methods. * Added class GenericVMPhysicalPageMapper implementing VMPhysicalPageMapper as far as possible (without actually writing new code). * Adjusted the x86 and the PPC specifics accordingly (untested for the latter). For the other architectures the build is, I'm afraid, seriously broken. The next steps will modify and extend the VMTranslationMap interface, so that it will be possible to fix the bugs in vm_unmap_page[s]() and employ architecture specific optimizations. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35066 a95241bf-73f2-0310-859d-f6bbb57e9c96
27 lines
698 B
C
27 lines
698 B
C
/*
|
|
** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
|
** Distributed under the terms of the OpenBeOS License.
|
|
*/
|
|
#ifndef _KERNEL_ARCH_PPC_VM_TRANSLATION_MAP_H
|
|
#define _KERNEL_ARCH_PPC_VM_TRANSLATION_MAP_H
|
|
|
|
#include <arch/vm_translation_map.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void ppc_translation_map_change_asid(VMTranslationMap *map);
|
|
|
|
status_t ppc_map_address_range(addr_t virtualAddress, addr_t physicalAddress,
|
|
size_t size);
|
|
void ppc_unmap_address_range(addr_t virtualAddress, size_t size);
|
|
status_t ppc_remap_address_range(addr_t *virtualAddress, size_t size,
|
|
bool unmap);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _KERNEL_ARCH_PPC_VM_TRANSLATION_MAP_H */
|