RISC-V: fix usage of special register when interrupts are enabled

This commit is contained in:
Omar Chebib 2021-09-27 13:52:58 +08:00
parent 18612738db
commit 7cab983b86

View File

@ -268,7 +268,7 @@ _interrupt_handler:
/* call the C dispatcher */ /* call the C dispatcher */
mv a0, sp /* argument 1, stack pointer */ mv a0, sp /* argument 1, stack pointer */
csrr a1, mcause /* argument 2, interrupt number */ mv a1, s1 /* argument 2, interrupt number (mcause) */
/* mask off the interrupt flag of mcause */ /* mask off the interrupt flag of mcause */
li t0, 0x7fffffff li t0, 0x7fffffff
and a1, a1, t0 and a1, a1, t0
@ -276,7 +276,7 @@ _interrupt_handler:
/* After dispatch c handler, disable interrupt to make freertos make context switch */ /* After dispatch c handler, disable interrupt to make freertos make context switch */
la t0, 0x8 li t0, 0x8
csrrc t0, mstatus, t0 csrrc t0, mstatus, t0
/* restore the interrupt threshold level */ /* restore the interrupt threshold level */