diff --git a/sys/riscv/riscv/exception.S b/sys/riscv/riscv/exception.S --- a/sys/riscv/riscv/exception.S +++ b/sys/riscv/riscv/exception.S @@ -44,6 +44,7 @@ addi sp, sp, -(TF_SIZE) sd ra, (TF_RA)(sp) + sd tp, (TF_TP)(sp) .if \mode == 0 /* We came from userspace. */ sd gp, (TF_GP)(sp) @@ -54,10 +55,7 @@ .option pop /* Load our pcpu */ - sd tp, (TF_TP)(sp) ld tp, (TF_SIZE)(sp) -.else - sd tp, (TF_TP)(sp) .endif sd t0, (TF_T + 0 * 8)(sp)