From 213679c7c1ee8c5a482f35fbcd62a48758f6cf12 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 11 Jan 2024 23:06:04 -0500 Subject: kernel: vm: Make vm_get_bsp_ctx() return pointer Signed-off-by: Ian Moffett --- sys/include/vm/vm.h | 2 +- sys/vm/vm_dynalloc.c | 24 ++++++++++++------------ sys/vm/vm_init.c | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/sys/include/vm/vm.h b/sys/include/vm/vm.h index 1bbe500..4ea6d22 100644 --- a/sys/include/vm/vm.h +++ b/sys/include/vm/vm.h @@ -60,6 +60,6 @@ vm_get_page_size(void) } void vm_init(void); -struct vm_ctx vm_get_bsp_ctx(void); +struct vm_ctx *vm_get_bsp_ctx(void); #endif /* !_VM_H_ */ diff --git a/sys/vm/vm_dynalloc.c b/sys/vm/vm_dynalloc.c index 861efe4..e1b61c7 100644 --- a/sys/vm/vm_dynalloc.c +++ b/sys/vm/vm_dynalloc.c @@ -39,12 +39,12 @@ void * dynalloc(size_t sz) { /* TODO: Per CPU */ - struct vm_ctx vm_ctx = vm_get_bsp_ctx(); + struct vm_ctx *vm_ctx = vm_get_bsp_ctx(); void *tmp; - spinlock_acquire(&vm_ctx.dynalloc_lock); - tmp = tlsf_malloc(vm_ctx.tlsf_ctx, sz); - spinlock_release(&vm_ctx.dynalloc_lock); + spinlock_acquire(&vm_ctx->dynalloc_lock); + tmp = tlsf_malloc(vm_ctx->tlsf_ctx, sz); + spinlock_release(&vm_ctx->dynalloc_lock); return tmp; } @@ -58,12 +58,12 @@ void * dynrealloc(void *old_ptr, size_t newsize) { /* TODO: Per CPU */ - struct vm_ctx vm_ctx = vm_get_bsp_ctx(); + struct vm_ctx *vm_ctx = vm_get_bsp_ctx(); void *tmp; - spinlock_acquire(&vm_ctx.dynalloc_lock); - tmp = tlsf_realloc(vm_ctx.tlsf_ctx, old_ptr, newsize); - spinlock_release(&vm_ctx.dynalloc_lock); + spinlock_acquire(&vm_ctx->dynalloc_lock); + tmp = tlsf_realloc(vm_ctx->tlsf_ctx, old_ptr, newsize); + spinlock_release(&vm_ctx->dynalloc_lock); return tmp; } @@ -76,9 +76,9 @@ void dynfree(void *ptr) { /* TODO: Per CPU */ - struct vm_ctx vm_ctx = vm_get_bsp_ctx(); + struct vm_ctx *vm_ctx = vm_get_bsp_ctx(); - spinlock_acquire(&vm_ctx.dynalloc_lock); - tlsf_free(vm_ctx.tlsf_ctx, ptr); - spinlock_release(&vm_ctx.dynalloc_lock); + spinlock_acquire(&vm_ctx->dynalloc_lock); + tlsf_free(vm_ctx->tlsf_ctx, ptr); + spinlock_release(&vm_ctx->dynalloc_lock); } diff --git a/sys/vm/vm_init.c b/sys/vm/vm_init.c index e755119..2a704fe 100644 --- a/sys/vm/vm_init.c +++ b/sys/vm/vm_init.c @@ -46,17 +46,17 @@ static volatile struct vas kernel_vas; * TODO: Move this to a per CPU structure, this kinda sucks * how it is right now... */ -static volatile struct vm_ctx bsp_vm_ctx = {0}; +static struct vm_ctx bsp_vm_ctx = {0}; volatile struct limine_hhdm_request g_hhdm_request = { .id = LIMINE_HHDM_REQUEST, .revision = 0 }; -struct vm_ctx +struct vm_ctx * vm_get_bsp_ctx(void) { - return bsp_vm_ctx; + return &bsp_vm_ctx; } void -- cgit v1.2.3