From dc71f4f38f49ed3a3b67098b7926a0731e9ce225 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Wed, 30 Oct 2024 14:23:07 +0200 Subject: remember to set regs to some valid address + Worked in qemu, failed in visionfive2, fixed. --- src/proc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/proc.c') diff --git a/src/proc.c b/src/proc.c index 62b3e42..b1682bf 100644 --- a/src/proc.c +++ b/src/proc.c @@ -56,6 +56,8 @@ stat_t init_proc(void *fdt, vm_t *proc_fdt, vm_t *proc_initrd) * save them here before we switch */ use_tcb(t); + set_stack(t, t->rpc_stack - BASE_PAGE_SIZE); + /* allocate stacks etc after ELF file to make sure nothing of importance * clashes */ stat_t ret = prepare_proc(t, get_init_base(fdt), 0); @@ -72,7 +74,6 @@ stat_t init_proc(void *fdt, vm_t *proc_fdt, vm_t *proc_initrd) *proc_initrd = map_shared_fixed_uvmem(t, initrd, get_initrdsize(fdt), VM_V | VM_R | VM_U); - info("mapped fdt at %lx\n", *proc_fdt); info("mapped initrd at %lx\n", *proc_initrd); return OK; -- cgit v1.3