From a06dbb8a63d825ebb1ad65372ce1ce1f572891bc Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 21 Oct 2022 16:06:00 +0300 Subject: initial spawn implementation --- arch/riscv64/kernel/proc.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'arch/riscv64/kernel/proc.c') diff --git a/arch/riscv64/kernel/proc.c b/arch/riscv64/kernel/proc.c index ab833b2..f85f597 100644 --- a/arch/riscv64/kernel/proc.c +++ b/arch/riscv64/kernel/proc.c @@ -15,6 +15,7 @@ stat_t run_init(struct tcb *t, void *fdt) { /** \todo actually map fdt into the target address space */ csr_write(CSR_SSCRATCH, t); + csr_write(CSR_SEPC, t->exec); __asm__ volatile ("mv sp, %0\n" : : "r" (t->thread_stack_top) : "memory"); __asm__ volatile ("mv a0, %0\n" : : "r" (fdt) : ); __asm__ volatile ("sret\n" ::: "memory"); @@ -22,12 +23,6 @@ stat_t run_init(struct tcb *t, void *fdt) return ERR_ADDR; } -stat_t set_return(vm_t v) -{ - csr_write(CSR_SEPC, v); - return OK; -} - stat_t set_ipc(struct tcb *t, id_t pid, id_t tid) { struct riscv_regs *r = (struct riscv_regs *)(--t); -- cgit v1.3