From 3d0c30e6697b2b6ae77a03adefa2a8b81ebe4d92 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sun, 21 Mar 2021 14:31:08 +0100 Subject: Cleaner shared memory implementation --- kernel/features/syscall.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'kernel/features/syscall.c') diff --git a/kernel/features/syscall.c b/kernel/features/syscall.c index 48a5850..44caff8 100644 --- a/kernel/features/syscall.c +++ b/kernel/features/syscall.c @@ -29,22 +29,17 @@ static void syscall_handler(struct regs *r) break; } case SYS_ALLOC: { - r->eax = (u32)memory_alloc(proc_current()->page_dir, PAGE_ALIGN_UP(r->ebx), - MEMORY_CLEAR | MEMORY_USER); + r->eax = (u32)memory_sys_alloc(proc_current()->page_dir, r->ebx, (u32 *)r->ecx, + (u32 *)r->edx, (u8)r->esi); break; } - case SYS_SHALLOC: { - r->eax = memory_shalloc(proc_current()->page_dir, PAGE_ALIGN_UP(r->ebx), - (u32 *)r->ecx, MEMORY_CLEAR | MEMORY_USER); + case SYS_FREE: { + r->eax = memory_sys_free(proc_current()->page_dir, r->ebx); break; } case SYS_SHACCESS: { - r->eax = memory_shaccess(proc_current()->page_dir, r->ebx, (u32 *)r->ecx, - (u32 *)r->edx); - break; - } - case SYS_FREE: { - memory_free(proc_current()->page_dir, memory_range(r->ebx, r->ecx)); + r->eax = memory_sys_shaccess(proc_current()->page_dir, r->ebx, (u32 *)r->ecx, + (u32 *)r->edx); break; } case SYS_STAT: { -- cgit v1.2.3