headers/bsd: Add sys/queue.h.
[haiku.git] / src / system / kernel / arch / m68k / paging / m68k_physical_page_mapper.h
blob67d7c6a047e8a92d33e38feab054acaedb71154b
1 /*
2 * Copyright 2008-2010, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
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>
12 struct kernel_args;
13 struct vm_translation_map_ops;
16 class TranslationMapPhysicalPageMapper {
17 public:
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 {
28 public:
29 virtual ~M68KPhysicalPageMapper();
31 virtual status_t CreateTranslationMapPhysicalPageMapper(
32 TranslationMapPhysicalPageMapper** _mapper)
33 = 0;
35 virtual void* InterruptGetPageTableAt(
36 phys_addr_t physicalAddress) = 0;
40 #endif // KERNEL_ARCH_M68K_PAGING_M68K_PHYSICAL_PAGE_MAPPER_H