Go to the documentation of this file.
18 #ifndef __LIBARCH_INTEL_PAGING_H
19 #define __LIBARCH_INTEL_PAGING_H
148 const bool tablesOnly =
false);
Intel virtual memory implementation.
virtual Result access(Address virt, Memory::Access *access) const
Get Access flags for a virtual address.
virtual Result releaseSection(const Memory::Range &range, const bool tablesOnly=false)
Release memory sections.
Virtual memory abstract interface.
unsigned long Address
A memory address.
bool m_pageDirectoryAllocated
Set to true if page directory was allocated by this class.
Allocator which separates kernel mapped memory at virtual and physical addresses.
Address m_pageDirectoryAddr
Physical address of the page directory.
IntelPageDirectory * m_pageDirectory
Pointer to page directory in kernel's virtual memory.
virtual Result unmap(Address virt)
Unmap a virtual address.
virtual Result releaseRange(Memory::Range *range)
Release range of memory.
virtual Result map(Address virt, Address phys, Memory::Access access)
Map a physical page to a virtual address.
Describes virtual memory map layout.
Access
Memory access flags.
virtual ~IntelPaging()
Destructor.
Intel page directory implementation.
virtual Result initialize()
Initialize the MemoryContext.
virtual Result activate(bool initializeMMU=false)
Activate the MemoryContext.
virtual Result lookup(Address virt, Address *phys) const
Translate virtual address to physical address.
IntelPaging(MemoryMap *map, SplitAllocator *alloc)
Constructor.