From d127146846f4d6561e15000d1469b715dafdb627 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sat, 2 Nov 2024 15:28:23 +0200 Subject: initial exec support --- arch/riscv64/kernel/vmem.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'arch') diff --git a/arch/riscv64/kernel/vmem.c b/arch/riscv64/kernel/vmem.c index ee5bbb4..1b70493 100644 --- a/arch/riscv64/kernel/vmem.c +++ b/arch/riscv64/kernel/vmem.c @@ -313,10 +313,12 @@ stat_t map_vpage(struct vmem *branch, pm_t paddr, vm_t vaddr, vmflags_t flags, } size_t idx = vm_to_index(vaddr, top); - assert(!is_branch(branch->leaf[idx])); + if (!__unused((pm_t)branch->leaf[idx])) + return ERR_INVAL; - branch->leaf[idx] = - (struct vmem *)to_pte((pm_t)__pa(paddr), vp_flags(flags)); + branch->leaf[idx] = (struct vmem *)to_pte( + (pm_t)__pa(paddr), + vp_flags(flags)); __add_graves(root, vm_to_index(vaddr, max_order())); return OK; -- cgit v1.3