Skip to content

Commit

Permalink
Merge pull request #277 from KarlK90/risc-v-eclic-t0-restore-fix
Browse files Browse the repository at this point in the history
[RISC-V ECLIC] Fix t0 restore when exiting interrupt
  • Loading branch information
fpoussin authored Apr 26, 2021
2 parents d53c82a + 0a66a06 commit 9c2bfa6
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions os/common/ports/RISCV-ECLIC/compilers/GCC/chcoreasm.S
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,13 @@
# registers and status csr registers from stack.
# --------------------------------------------------------------------------
.macro RESTORE_CONTEXT
LOAD t0, 17*REGBYTES(sp)
csrw CSR_MEPC, t0
LOAD t0, 18*REGBYTES(sp)
csrw CSR_MCAUSE, t0
LOAD t0, 19*REGBYTES(sp)
csrw CSR_MSUBM, t0

LOAD ra, 0*REGBYTES(sp)
LOAD tp, 1*REGBYTES(sp)
LOAD t0, 2*REGBYTES(sp)
Expand All @@ -121,13 +128,6 @@
LOAD t5, 15*REGBYTES(sp)
LOAD t6, 16*REGBYTES(sp)

LOAD t0, 17*REGBYTES(sp)
csrw CSR_MEPC, t0
LOAD t0, 18*REGBYTES(sp)
csrw CSR_MCAUSE, t0
LOAD t0, 19*REGBYTES(sp)
csrw CSR_MSUBM, t0

# De-allocate the stack space
addi sp, sp, 20*REGBYTES
.endm
Expand Down

0 comments on commit 9c2bfa6

Please sign in to comment.