Implemented a simple kernel heap

This commit is contained in:
2025-04-29 20:10:59 +02:00
parent 9181f3afd3
commit 5522218767
5 changed files with 190 additions and 89 deletions
+25
View File
@@ -0,0 +1,25 @@
#ifndef _KALLOC_H
#define _KALLOC_H
#include <kernel.h>
// TODO: Set a better minimum that just a random number
#define KMALLOC_MIN_PAGES 4
// kmalloc() singly-linked list node
struct kmalloc_node {
size_t size;
int free;
struct kmalloc_node* next;
};
extern struct kmalloc_node* kmalloc_head;
int kmalloc_init(void);
void* kmalloc(size_t size);
void* kzalloc(size_t size);
void* kcalloc(size_t size, size_t count);
void* krealloc(size_t size, void* ptr);
void kfree(void* ptr);
#endif
-13
View File
@@ -1,13 +0,0 @@
#ifndef _VMM_H
#define _VMM_H
#include <kernel.h>
#include <bitmap.h>
extern bitmap_t vmm_bitmap;
int vmm_init(void);
void* vmm_alloc(size_t pages);
void vmm_free(void* ptr, size_t pages);
#endif