summaryrefslogtreecommitdiff
path: root/bsp/nuclei/nuclei_fpga_eval/board/trap_gcc.S
blob: 745e430dee963c089c6ff0f8ad97dad78a99a4dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "cpuport.h"

	.globl rt_hw_do_after_save_above
	.type rt_hw_do_after_save_above,@function
rt_hw_do_after_save_above:
	addi  sp, sp,  -4
    STORE ra,  0 * REGBYTES(sp)
    csrr  a0, mcause
    csrr  a1, mepc
    mv    a2, sp
    csrrw ra, 0x07ED, ra

	li   t0,    0x08
	csrc mstatus, t0

    LOAD  ra,  0 * REGBYTES(sp)
    addi  sp, sp,  4
    ret