summaryrefslogtreecommitdiff
path: root/include/sys/mem.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sys/mem.h')
-rw-r--r--include/sys/mem.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/sys/mem.h b/include/sys/mem.h
new file mode 100644
index 0000000..769a162
--- /dev/null
+++ b/include/sys/mem.h
@@ -0,0 +1,30 @@
+#pragma once
+#include <sys/stddef.h>
+
+struct mem_info {
+ void* start;
+ size_t size;
+};
+
+enum PageStatus {
+ MEMPAGE_FREE, MEMPAGE_USED
+};
+
+struct page {
+ struct page* next;
+ size_t size;
+ enum PageStatus status;
+};
+
+struct mmio_device_meta {
+ const char *name;
+ void *start;
+ size_t size;
+};
+
+void* kmalloc(size_t size);
+void* kzalloc(size_t size);
+void kfree(void* ptr);
+
+void km_init(struct mem_info *info);
+