2 * Copyright 2008-2010, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
5 #ifndef KERNEL_ARCH_M68K_PAGING_M68K_PHYSICAL_PAGE_MAPPER_H
6 #define KERNEL_ARCH_M68K_PAGING_M68K_PHYSICAL_PAGE_MAPPER_H
9 #include <vm/VMTranslationMap.h>
13 struct vm_translation_map_ops
;
16 class TranslationMapPhysicalPageMapper
{
18 virtual ~TranslationMapPhysicalPageMapper();
20 virtual void Delete() = 0;
22 virtual void* GetPageTableAt(phys_addr_t physicalAddress
) = 0;
23 // Must be invoked with thread pinned to current CPU.
27 class M68KPhysicalPageMapper
: public VMPhysicalPageMapper
{
29 virtual ~M68KPhysicalPageMapper();
31 virtual status_t
CreateTranslationMapPhysicalPageMapper(
32 TranslationMapPhysicalPageMapper
** _mapper
)
35 virtual void* InterruptGetPageTableAt(
36 phys_addr_t physicalAddress
) = 0;
40 #endif // KERNEL_ARCH_M68K_PAGING_M68K_PHYSICAL_PAGE_MAPPER_H