Simple physical memory allocator, virtual memory manager

This commit is contained in:
2020-07-09 18:50:13 -05:00
parent d3ba3c1d2a
commit 52c3754305
25 changed files with 795 additions and 316 deletions

38
src/memorymap.cpp Normal file
View File

@@ -0,0 +1,38 @@
#include "memorymap.hpp"
qkernel::MemoryMap::MemoryMap(qkernel::MemoryMap::Region* map, size_t entries)
{
this->map = map;
this->entries = entries;
}
qkernel::MemoryMap::Region& qkernel::MemoryMap::operator[](size_t index)
{
return map[index];
}
size_t qkernel::MemoryMap::size()
{
return entries;
}
physaddr_t qkernel::MemoryMap::Region::getLocation()
{
return location;
}
size_t qkernel::MemoryMap::Region::getSize()
{
return size;
}
qkernel::MemoryMap::Type qkernel::MemoryMap::Region::getType()
{
return (Type) type;
}
bool qkernel::MemoryMap::Region::contains(physaddr_t location, size_t size)
{
return (location >= this->location) &&
(location + size <= this->location + this->size);
}