trap_gcc.S 358 B

123456789101112131415161718
  1. #include "cpuport.h"
  2. .globl rt_hw_do_after_save_above
  3. .type rt_hw_do_after_save_above,@function
  4. rt_hw_do_after_save_above:
  5. addi sp, sp, -4
  6. STORE ra, 0 * REGBYTES(sp)
  7. csrr a0, mcause
  8. csrr a1, mepc
  9. mv a2, sp
  10. csrrw ra, 0x07ED, ra
  11. li t0, 0x08
  12. csrc mstatus, t0
  13. LOAD ra, 0 * REGBYTES(sp)
  14. addi sp, sp, 4
  15. ret