summaryrefslogtreecommitdiff
path: root/Source/Kernel/MemoryManager/Mem.ns.cpp
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-08-21 23:59:19 +0200
committerAlexis211 <alexis211@gmail.com>2009-08-21 23:59:19 +0200
commit74e721676ddd5d996ccf2e1d35da57320f658609 (patch)
treeb39d766c8e27a654c89c2435131e5eaf193125d8 /Source/Kernel/MemoryManager/Mem.ns.cpp
parentae803baa4e0ec584c7afd3f6d55f2e6b32010b46 (diff)
downloadMelon-74e721676ddd5d996ccf2e1d35da57320f658609.tar.gz
Melon-74e721676ddd5d996ccf2e1d35da57320f658609.zip
Kernel now loads in higher half, and uses a VT for output.
Diffstat (limited to 'Source/Kernel/MemoryManager/Mem.ns.cpp')
-rw-r--r--Source/Kernel/MemoryManager/Mem.ns.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/Kernel/MemoryManager/Mem.ns.cpp b/Source/Kernel/MemoryManager/Mem.ns.cpp
new file mode 100644
index 0000000..d8bfc4f
--- /dev/null
+++ b/Source/Kernel/MemoryManager/Mem.ns.cpp
@@ -0,0 +1,23 @@
+#include <Core/common.wtf.h>
+
+namespace Mem {
+
+bool kheapUsable = false;
+u32int placementAddress, kheapFree;
+
+void *kallocInternal(u32int sz, bool align) {
+ if (align && (placementAddress & 0xFFFFF000)) {
+ placementAddress &= 0xFFFFF000;
+ placementAddress += 0x1000;
+ }
+ u32int temp = placementAddress;
+ placementAddress += sz;
+ return (void*)temp;
+}
+
+void *kalloc(u32int sz, bool align) {
+ if (!kheapUsable) return kallocInternal(sz, align);
+ return 0;
+}
+
+}