vfs: check userland buffers before reading them.
[haiku.git] / src / system / kernel / arch / arm / paging / arm_physical_page_mapper.h
blobe3ffc2df3e304980fa82a9f2ef49526311f7f94a
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_ARM_PAGING_ARM_PHYSICAL_PAGE_MAPPER_H
6 #define KERNEL_ARCH_ARM_PAGING_ARM_PHYSICAL_PAGE_MAPPER_H
9 #include <vm/VMTranslationMap.h>
12 struct kernel_args;
15 class TranslationMapPhysicalPageMapper {
16 public:
17 virtual ~TranslationMapPhysicalPageMapper() { }
19 virtual void Delete() = 0;
21 virtual void* GetPageTableAt(phys_addr_t physicalAddress) = 0;
22 // Must be invoked with thread pinned to current CPU.
26 class ARMPhysicalPageMapper : public VMPhysicalPageMapper {
27 public:
28 virtual status_t CreateTranslationMapPhysicalPageMapper(
29 TranslationMapPhysicalPageMapper** _mapper)
30 = 0;
32 virtual void* InterruptGetPageTableAt(
33 phys_addr_t physicalAddress) = 0;
37 #endif // KERNEL_ARCH_ARM_PAGING_ARM_PHYSICAL_PAGE_MAPPER_H