diff options
author | Freya Murphy <freya@freyacat.org> | 2025-04-23 13:57:18 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-04-23 13:57:18 -0400 |
commit | 974fcf5d87ee315601f797e609b1030ef5b329b8 (patch) | |
tree | 9dfad38f5b25fba41e1529008c91367a960c8f7f /kernel/memory/memory.c | |
parent | some paging updates (more to come) (diff) | |
download | comus-974fcf5d87ee315601f797e609b1030ef5b329b8.tar.gz comus-974fcf5d87ee315601f797e609b1030ef5b329b8.tar.bz2 comus-974fcf5d87ee315601f797e609b1030ef5b329b8.zip |
update paging code
Diffstat (limited to 'kernel/memory/memory.c')
-rw-r--r-- | kernel/memory/memory.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/kernel/memory/memory.c b/kernel/memory/memory.c index e7e4c15..2a9c15e 100644 --- a/kernel/memory/memory.c +++ b/kernel/memory/memory.c @@ -33,13 +33,12 @@ void kunmapaddr(void *virt) void *kalloc_page(void) { - return mem_alloc_page(kernel_mem_ctx, F_PRESENT | F_WRITEABLE, false); + return mem_alloc_page(kernel_mem_ctx, F_PRESENT | F_WRITEABLE); } void *kalloc_pages(size_t count) { - return mem_alloc_pages(kernel_mem_ctx, count, F_PRESENT | F_WRITEABLE, - false); + return mem_alloc_pages(kernel_mem_ctx, count, F_PRESENT | F_WRITEABLE); } void kfree_pages(void *ptr) @@ -47,18 +46,13 @@ void kfree_pages(void *ptr) mem_free_pages(kernel_mem_ctx, ptr); } -int kload_page(void *virt) -{ - return mem_load_page(kernel_mem_ctx, virt); -} - mem_ctx_t mem_ctx_alloc(void) { mem_ctx_t ctx = user_mem_ctx_next; if (ctx == NULL) return NULL; - if ((ctx->pml4 = pml4_alloc()) == NULL) + if ((ctx->pml4 = paging_alloc()) == NULL) return NULL; virtaddr_init(&ctx->virtctx); @@ -80,7 +74,7 @@ mem_ctx_t mem_ctx_clone(mem_ctx_t ctx, bool cow) void mem_ctx_free(mem_ctx_t ctx) { - pml4_free(ctx->pml4); + paging_free(ctx->pml4); virtaddr_cleanup(&ctx->virtctx); if (user_mem_ctx_next == NULL) { |