summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/gd32/risc-v/gd32vf103r-start/board/SConscript1
-rw-r--r--bsp/gd32/risc-v/gd32vf103r-start/board/trap_gcc.S (renamed from libcpu/risc-v/bumblebee/trap_gcc.S)0
-rw-r--r--bsp/gd32/risc-v/gd32vf103v-eval/board/SConscript1
-rw-r--r--bsp/gd32/risc-v/gd32vf103v-eval/board/trap_gcc.S (renamed from libcpu/risc-v/nuclei/trap_gcc.S)0
-rw-r--r--bsp/gd32vf103v-eval/board/SConscript5
-rw-r--r--bsp/gd32vf103v-eval/board/trap_gcc.S18
-rw-r--r--bsp/nuclei/gd32vf103_rvstar/board/SConscript5
-rw-r--r--bsp/nuclei/gd32vf103_rvstar/board/trap_gcc.S18
-rw-r--r--bsp/nuclei/nuclei_fpga_eval/board/SConscript5
-rw-r--r--bsp/nuclei/nuclei_fpga_eval/board/trap_gcc.S18
-rw-r--r--libcpu/risc-v/bumblebee/SConscript14
-rw-r--r--libcpu/risc-v/nuclei/SConscript14
12 files changed, 68 insertions, 31 deletions
diff --git a/bsp/gd32/risc-v/gd32vf103r-start/board/SConscript b/bsp/gd32/risc-v/gd32vf103r-start/board/SConscript
index 3f96726e36..92999ebda7 100644
--- a/bsp/gd32/risc-v/gd32vf103r-start/board/SConscript
+++ b/bsp/gd32/risc-v/gd32vf103r-start/board/SConscript
@@ -9,6 +9,7 @@ cwd = GetCurrentDir()
# add general drivers
src = Split('''
board.c
+trap_gcc.S
''')
path = [cwd]
diff --git a/libcpu/risc-v/bumblebee/trap_gcc.S b/bsp/gd32/risc-v/gd32vf103r-start/board/trap_gcc.S
index 745e430dee..745e430dee 100644
--- a/libcpu/risc-v/bumblebee/trap_gcc.S
+++ b/bsp/gd32/risc-v/gd32vf103r-start/board/trap_gcc.S
diff --git a/bsp/gd32/risc-v/gd32vf103v-eval/board/SConscript b/bsp/gd32/risc-v/gd32vf103v-eval/board/SConscript
index cb6f98bca2..e9f40f8336 100644
--- a/bsp/gd32/risc-v/gd32vf103v-eval/board/SConscript
+++ b/bsp/gd32/risc-v/gd32vf103v-eval/board/SConscript
@@ -9,6 +9,7 @@ cwd = GetCurrentDir()
# add general drivers
src = Split('''
board.c
+trap_gcc.S
''')
path = [cwd]
diff --git a/libcpu/risc-v/nuclei/trap_gcc.S b/bsp/gd32/risc-v/gd32vf103v-eval/board/trap_gcc.S
index 745e430dee..745e430dee 100644
--- a/libcpu/risc-v/nuclei/trap_gcc.S
+++ b/bsp/gd32/risc-v/gd32vf103v-eval/board/trap_gcc.S
diff --git a/bsp/gd32vf103v-eval/board/SConscript b/bsp/gd32vf103v-eval/board/SConscript
index 148c99f42c..4e68c3dc89 100644
--- a/bsp/gd32vf103v-eval/board/SConscript
+++ b/bsp/gd32vf103v-eval/board/SConscript
@@ -3,7 +3,10 @@
from building import *
cwd = GetCurrentDir()
-src = Glob('*.c')
+src = Split('''
+board.c
+trap_gcc.S
+''')
CPPPATH = [cwd]
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
diff --git a/bsp/gd32vf103v-eval/board/trap_gcc.S b/bsp/gd32vf103v-eval/board/trap_gcc.S
new file mode 100644
index 0000000000..745e430dee
--- /dev/null
+++ b/bsp/gd32vf103v-eval/board/trap_gcc.S
@@ -0,0 +1,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
diff --git a/bsp/nuclei/gd32vf103_rvstar/board/SConscript b/bsp/nuclei/gd32vf103_rvstar/board/SConscript
index 148c99f42c..4e68c3dc89 100644
--- a/bsp/nuclei/gd32vf103_rvstar/board/SConscript
+++ b/bsp/nuclei/gd32vf103_rvstar/board/SConscript
@@ -3,7 +3,10 @@
from building import *
cwd = GetCurrentDir()
-src = Glob('*.c')
+src = Split('''
+board.c
+trap_gcc.S
+''')
CPPPATH = [cwd]
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
diff --git a/bsp/nuclei/gd32vf103_rvstar/board/trap_gcc.S b/bsp/nuclei/gd32vf103_rvstar/board/trap_gcc.S
new file mode 100644
index 0000000000..745e430dee
--- /dev/null
+++ b/bsp/nuclei/gd32vf103_rvstar/board/trap_gcc.S
@@ -0,0 +1,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
diff --git a/bsp/nuclei/nuclei_fpga_eval/board/SConscript b/bsp/nuclei/nuclei_fpga_eval/board/SConscript
index 148c99f42c..4e68c3dc89 100644
--- a/bsp/nuclei/nuclei_fpga_eval/board/SConscript
+++ b/bsp/nuclei/nuclei_fpga_eval/board/SConscript
@@ -3,7 +3,10 @@
from building import *
cwd = GetCurrentDir()
-src = Glob('*.c')
+src = Split('''
+board.c
+trap_gcc.S
+''')
CPPPATH = [cwd]
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
diff --git a/bsp/nuclei/nuclei_fpga_eval/board/trap_gcc.S b/bsp/nuclei/nuclei_fpga_eval/board/trap_gcc.S
new file mode 100644
index 0000000000..745e430dee
--- /dev/null
+++ b/bsp/nuclei/nuclei_fpga_eval/board/trap_gcc.S
@@ -0,0 +1,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
diff --git a/libcpu/risc-v/bumblebee/SConscript b/libcpu/risc-v/bumblebee/SConscript
deleted file mode 100644
index 20f325b692..0000000000
--- a/libcpu/risc-v/bumblebee/SConscript
+++ /dev/null
@@ -1,14 +0,0 @@
-# RT-Thread building script for component
-
-from building import *
-
-Import('rtconfig')
-
-cwd = GetCurrentDir()
-src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
-CPPPATH = [cwd]
-ASFLAGS = ''
-
-group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
-
-Return('group')
diff --git a/libcpu/risc-v/nuclei/SConscript b/libcpu/risc-v/nuclei/SConscript
deleted file mode 100644
index 07d5b82373..0000000000
--- a/libcpu/risc-v/nuclei/SConscript
+++ /dev/null
@@ -1,14 +0,0 @@
-# RT-Thread building script for component
-
-from building import *
-
-Import('rtconfig')
-
-cwd = GetCurrentDir()
-src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
-CPPPATH = [cwd]
-ASFLAGS = ' -I ' + cwd
-
-group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
-
-Return('group')