diff options
author | dzwdz | 2021-07-10 16:37:45 +0200 |
---|---|---|
committer | dzwdz | 2021-07-10 16:37:45 +0200 |
commit | d093a8eea6bfb0ff7e621e9ba3307dae698322aa (patch) | |
tree | 08a5272e2813cf8db8feda4ff91d919cb9ad7330 /src/kernel/mem.c | |
parent | 1faac72e2514c335e2d5721dce8c9fd1da722062 (diff) |
separate the source code from object files; more modular Makefile
Diffstat (limited to 'src/kernel/mem.c')
-rw-r--r-- | src/kernel/mem.c | 19 |
1 files changed, 19 insertions, 0 deletions
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 <kernel/mem.h> + +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 +} |