Clearing up kutil/kernel memory code separation

This commit is contained in:
Justin C. Miller
2018-09-07 10:08:47 -07:00
parent 956efabd8f
commit cabfec3f1e
4 changed files with 41 additions and 24 deletions

View File

@@ -1,18 +0,0 @@
#include "kutil/memory_manager.h"
#include "log.h"
kutil::memory_manager g_kernel_memory_manager;
// kutil malloc/free implementation
namespace kutil {
void *
malloc(size_t n) {
void *p = g_kernel_memory_manager.allocate(n);
log::debug(logs::memory, "Heap allocated %ld bytes: %016lx", n, p);
return p;
}
void free(void *p) { g_kernel_memory_manager.free(p); }
}

View File

@@ -7,6 +7,7 @@
#include "page_manager.h"
page_manager g_page_manager;
kutil::memory_manager g_kernel_memory_manager;
static addr_t
@@ -215,10 +216,10 @@ page_manager::init(
}
}
extern kutil::memory_manager g_kernel_memory_manager;
new (&g_kernel_memory_manager) kutil::memory_manager(
reinterpret_cast<void *>(end),
mm_grow_callback);
kutil::setup::set_heap(&g_kernel_memory_manager);
m_kernel_pml4 = get_pml4();
}