Merge origin/netpush (networking code) (XCC)
[akaros.git] / user / parlib / riscv / vcore.S
1 #include <sys/asm.h>
2
3 .abicalls
4
5 .global __pop_ros_tf_regs
6 .ent __pop_ros_tf_regs
7 __pop_ros_tf_regs:
8
9   REG_L s0,20*SZREG(a0)
10   REG_L s1,21*SZREG(a0)
11   REG_L s2,22*SZREG(a0)
12   REG_L s3,23*SZREG(a0)
13   REG_L s4,24*SZREG(a0)
14   REG_L s5,25*SZREG(a0)
15   REG_L s6,26*SZREG(a0)
16   REG_L s7,27*SZREG(a0)
17   REG_L s8,28*SZREG(a0)
18   REG_L s9,29*SZREG(a0)
19   REG_L sp,30*SZREG(a0)
20
21   REG_L ra,33*SZREG(a0)
22
23   jr    a3
24 .end __pop_ros_tf_regs
25
26 .global __save_ros_tf_regs
27 .ent __save_ros_tf_regs
28 __save_ros_tf_regs:
29
30   REG_S s0,20*SZREG(a0)
31   REG_S s1,21*SZREG(a0)
32   REG_S s2,22*SZREG(a0)
33   REG_S s3,23*SZREG(a0)
34   REG_S s4,24*SZREG(a0)
35   REG_S s5,25*SZREG(a0)
36   REG_S s6,26*SZREG(a0)
37   REG_S s7,27*SZREG(a0)
38   REG_S s8,28*SZREG(a0)
39   REG_S s9,29*SZREG(a0)
40   REG_S sp,30*SZREG(a0)
41
42   REG_S ra,33*SZREG(a0)
43
44   ret
45 .end __save_ros_tf_regs