From d093a8eea6bfb0ff7e621e9ba3307dae698322aa Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 10 Jul 2021 16:37:45 +0200 Subject: separate the source code from object files; more modular Makefile --- src/kernel/mem.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/kernel/mem.c (limited to 'src/kernel/mem.c') diff --git a/src/kernel/mem.c b/src/kernel/mem.c new file mode 100644 index 0000000..08eb285 --- /dev/null +++ b/src/kernel/mem.c @@ -0,0 +1,19 @@ +#include + +extern void *_kernel_end; +static void *highest_page; + +void mem_init() { + highest_page = &_kernel_end; +} + +void *page_alloc(size_t pages) { + void *bottom = highest_page; + highest_page += pages * PAGE_SIZE; + return bottom; +} + +// frees `pages` consecutive pages starting from *first +void page_free(void *first, size_t pages) { + // not implemented +} -- cgit v1.2.3