summaryrefslogtreecommitdiff
path: root/src/include/mm/kernel_heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/mm/kernel_heap.h')
-rw-r--r--src/include/mm/kernel_heap.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/include/mm/kernel_heap.h b/src/include/mm/kernel_heap.h
new file mode 100644
index 0000000..4527a11
--- /dev/null
+++ b/src/include/mm/kernel_heap.h
@@ -0,0 +1,20 @@
+#ifndef KERNEL_HEAP_H
+#define KERNEL_HEAP_H
+
+#include <mm/heap.h>
+
+#define KERNEL_HEAP_SIZE_BYTES (1024 * 1024 * 100) /* 100 MiB */
+#define KERNEL_HEAP_ENTRIES (KERNEL_HEAP_SIZE_BYTES / PAGE_SIZE)
+
+/* Addresses taken from OSDev x86 memory map */
+#define KERNEL_HEAP_ADDR (0x01000000)
+
+/* This should give us 480.5 kiB, enough for the current table size */
+#define KERNEL_HEAP_TBL_ADDR (0x00007E00)
+
+
+void kernel_heap_init();
+void * kmalloc(size_t size);
+void kfree(void *ptr);
+
+#endif /* KERNEL_HEAP_H */