SquidgeOS/src/kernel/memory.h

32 lines
519 B
C
Raw Normal View History

2026-02-08 23:51:37 +00:00
#ifndef KMEMORY_H
#define KMEMORY_H
2026-02-09 02:21:48 +00:00
#define PAGE_SIZE 4096
2026-02-09 18:55:51 +00:00
typedef struct Page
{
2026-02-09 02:21:48 +00:00
struct Page *next;
} Page;
2026-02-09 18:55:51 +00:00
typedef struct HeapHeader
{
2026-02-09 02:21:48 +00:00
size_t size;
int is_free;
struct HeapHeader *next;
2026-02-09 18:55:51 +00:00
struct HeapHeader *prev;
2026-02-09 02:21:48 +00:00
} HeapHeader;
2026-02-11 00:12:14 +00:00
void zero_bss();
2026-02-08 23:51:37 +00:00
void page_init();
void page_free(void *addr);
2026-02-09 00:13:00 +00:00
void *page_alloc();
2026-02-09 02:21:48 +00:00
void *kmalloc(size_t size);
void kfree(void *ptr);
void kcoalesce(HeapHeader *header);
void test_memory_integrity();
2026-02-09 03:28:54 +00:00
void test_memory_alignment();
void test_memory_stress();
void heap_stats();
2026-02-08 23:51:37 +00:00
#endif