aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv64/kernel/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv64/kernel/proc.c')
-rw-r--r--arch/riscv64/kernel/proc.c7
1 files changed, 1 insertions, 6 deletions
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);