20 #ifndef KERNEL_PROCESSOR_MEMORYREGION_H 21 #define KERNEL_PROCESSOR_MEMORYREGION_H 23 #include "pedigree/kernel/compiler.h" 24 #include "pedigree/kernel/processor/types.h" 58 void *virtualAddress()
const;
68 const char *name()
const;
70 operator bool()
const;
72 bool physicalBoundsCheck(physical_uintptr_t address);
74 T *convertPhysicalPointer(physical_uintptr_t address);
76 void setNonRamMemory(
bool b);
77 bool getNonRamMemory();
78 void setForced(
bool b);
100 bool m_bNonRamMemory, m_bForced;
105 template <
typename T>
106 T *MemoryRegion::convertPhysicalPointer(physical_uintptr_t address)
108 return reinterpret_cast<T *
>(
109 reinterpret_cast<uintptr_t
>(m_VirtualAddress) +
110 (address - m_PhysicalAddress));
HostedPhysicalMemoryManager & operator=(const HostedPhysicalMemoryManager &)
physical_uintptr_t m_PhysicalAddress
friend class MemoryRegion
uintptr_t physicalAddress(physical_uintptr_t address) PURE
Special memory entity in the kernel's virtual address space.
Implementation of the PhysicalMemoryManager for common ppc.
Implementation of the PhysicalMemoryManager for common arm.
Implementation of the PhysicalMemoryManager for common x86.
Implementation of the PhysicalMemoryManager for common x86.