summaryrefslogtreecommitdiff
path: root/stage3/heap.h
diff options
context:
space:
mode:
authorLizzy Fleckenstein <lizzy@vlhl.dev>2024-01-09 22:00:10 +0100
committerLizzy Fleckenstein <lizzy@vlhl.dev>2024-01-09 22:00:10 +0100
commit0d9286a860ff888dbb35fa6b92703496af3abecf (patch)
treea40596ae85efee3ee8b33fb9241200932f933290 /stage3/heap.h
parentd8d31c16138a4d6dc1ff3d33b3172c151c221767 (diff)
downloadcuddles-0d9286a860ff888dbb35fa6b92703496af3abecf.tar.xz
refactor heap code and add heap debugging
Diffstat (limited to 'stage3/heap.h')
-rw-r--r--stage3/heap.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/stage3/heap.h b/stage3/heap.h
index 50a3fcf..10fe261 100644
--- a/stage3/heap.h
+++ b/stage3/heap.h
@@ -14,4 +14,17 @@ void *kmalloc(usize siz);
void kfree(void *ptr);
void *krealloc(void *ptr, usize size);
+typedef struct __attribute__((packed)) heap_header {
+ struct heap_header *next;
+ usize size;
+} heap_header;
+
+heap_header *heap_get_free_ptr();
+
+#ifdef DEBUG
+void heap_check();
+#else
+#define heap_check()
+#endif
+
#endif