adding kmalloc and memory management

This commit is contained in:
Liam Kerr 2026-02-09 02:21:48 +00:00
parent 6aca680609
commit 3270717168
3 changed files with 126 additions and 22 deletions

View file

@ -1,8 +1,26 @@
#ifndef KMEMORY_H
#define KMEMORY_H
#define PAGE_SIZE 4096
typedef struct Page {
struct Page *next;
} Page;
typedef struct HeapHeader {
size_t size;
int is_free;
struct HeapHeader *next;
} HeapHeader;
static struct Page *free_list = NULL;
void page_init();
void page_free(void *addr);
void *page_alloc();
void *kmalloc(size_t size);
void kfree(void *ptr);
void kcoalesce(HeapHeader *header);
void test_memory_integrity();
#endif