summaryrefslogtreecommitdiff
path: root/include/mem.h
diff options
context:
space:
mode:
authorNathan Lee <me@nwlee.tech>2026-06-24 12:55:38 -0500
committerNathan Lee <me@nwlee.tech>2026-06-24 12:55:38 -0500
commit95e5618b0e4cf354c80d75b00b60539b5ed47150 (patch)
treeb12a95e830d6c8475c377a7901cf8c69caa5d2b6 /include/mem.h
parent5c15e93fa87800b1f8fae7ef688a9d41221526f1 (diff)
create kmalloc and km_init
Diffstat (limited to 'include/mem.h')
-rw-r--r--include/mem.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/include/mem.h b/include/mem.h
index 6135786..6c87b59 100644
--- a/include/mem.h
+++ b/include/mem.h
@@ -1,25 +1,26 @@
#pragma once
#include <types.h>
-typedef enum {
- PAGE_FREE,
- PAGE_ALLOCATED
-} MemoryPageAvailability;
+struct mem_info {
+ void* start;
+ size_t size;
+};
-struct page {
- void* locator;
- MemoryPageAvailability availability;
- struct page* next;
+enum PageStatus {
+ MEMPAGE_FREE, MEMPAGE_USED
};
-struct mem_info {
- void* start;
+struct page {
+ struct page* next;
size_t size;
+ enum PageStatus status;
};
void* kmalloc(size_t size);
-void* memcpy(void* to, const void* from,size_t size);
+void* kzmalloc(size_t size);
+void kfree(void* ptr);
+
+void* memcpy(void* to, const void* from, size_t size);
-void* kemalloc(size_t size);
+void km_init(struct mem_info *info);
-extern struct page root;