Introduces Regression for 32 and 64 bit threadx and smp kernel in Debug, MinSizeRel and Release configuration #4
@@ -73,23 +73,24 @@
|
|||||||
|
|
||||||
STORE x1, 28*REGBYTES(sp) // Store RA, 28*REGBYTES(because call will override ra [ra is a calle register in riscv])
|
STORE x1, 28*REGBYTES(sp) // Store RA, 28*REGBYTES(because call will override ra [ra is a calle register in riscv])
|
||||||
|
|
||||||
call _tx_thread_context_save
|
call _tx_thread_context_save
|
||||||
|
|
||||||
csrr a0, mcause
|
csrr a0, mcause
|
||||||
csrr a1, mepc
|
csrr a1, mepc
|
||||||
csrr a2, mtval
|
csrr a2, mtval
|
||||||
addi sp, sp, -8
|
addi sp, sp, -8
|
||||||
STORE ra, 0(sp)
|
STORE ra, 0(sp)
|
||||||
call trap_handler
|
call trap_handler
|
||||||
LOAD ra, 0(sp)
|
LOAD ra, 0(sp)
|
||||||
addi sp, sp, 8
|
addi sp, sp, 8
|
||||||
call _tx_thread_context_restore
|
call _tx_thread_context_restore
|
||||||
// it will nerver return
|
// it will nerver return
|
||||||
.weak trap_handler
|
.weak trap_handler
|
||||||
trap_handler:
|
trap_handler:
|
||||||
1:
|
1:
|
||||||
j 1b
|
j 1b
|
||||||
.section .text
|
|
||||||
|
.section .text
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* FUNCTION RELEASE */
|
/* FUNCTION RELEASE */
|
||||||
|
|||||||
Reference in New Issue
Block a user