From 95e5618b0e4cf354c80d75b00b60539b5ed47150 Mon Sep 17 00:00:00 2001 From: Nathan Lee Date: Wed, 24 Jun 2026 12:55:38 -0500 Subject: create kmalloc and km_init --- include/mem.h | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'include') 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 -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; -- cgit v1.2.3