Move malloc into kutil

This commit is contained in:
Justin C. Miller
2018-05-10 09:49:57 -07:00
parent 045bede481
commit a1bc76f305
6 changed files with 46 additions and 35 deletions

9
src/kernel/allocator.cpp Normal file
View File

@@ -0,0 +1,9 @@
#include "kutil/memory_manager.h"
kutil::memory_manager g_kernel_memory_manager;
// kutil malloc/free implementation
namespace kutil {
void * malloc(size_t n) { return g_kernel_memory_manager.allocate(n); }
void free(void *p) { g_kernel_memory_manager.free(p); }
}

View File

@@ -1,11 +0,0 @@
#include "kutil/memory_manager.h"
kutil::memory_manager g_kernel_memory_manager;
void * kalloc(size_t length) { return g_kernel_memory_manager.allocate(length); }
void kfree(void *p) { g_kernel_memory_manager.free(p); }
void * operator new (size_t n) { return g_kernel_memory_manager.allocate(n); }
void * operator new[] (size_t n) { return g_kernel_memory_manager.allocate(n); }
void operator delete (void *p) noexcept { return g_kernel_memory_manager.free(p); }
void operator delete[] (void *p) noexcept { return g_kernel_memory_manager.free(p); }

View File

@@ -1,17 +0,0 @@
#pragma once
/// \file kalloc.h
/// Definitions of kalloc() and kfree()
#include <stddef.h>
/// Allocate kernel space memory.
/// \arg length The amount of memory to allocate, in bytes
/// \returns A pointer to the allocated memory, or nullptr if
/// allocation failed.
inline void * kalloc(size_t length);
/// Free kernel space memory.
/// \arg p The pointer to free
inline void kfree(void *p);