Glibc syscalls now block properly (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   REG_L tp,31*SZREG(a0)
21
22   REG_L ra,33*SZREG(a0)
23
24   jr    a3
25 .end __pop_ros_tf_regs
26
27 .global __save_ros_tf_regs
28 .ent __save_ros_tf_regs
29 __save_ros_tf_regs:
30
31   REG_S s0,20*SZREG(a0)
32   REG_S s1,21*SZREG(a0)
33   REG_S s2,22*SZREG(a0)
34   REG_S s3,23*SZREG(a0)
35   REG_S s4,24*SZREG(a0)
36   REG_S s5,25*SZREG(a0)
37   REG_S s6,26*SZREG(a0)
38   REG_S s7,27*SZREG(a0)
39   REG_S s8,28*SZREG(a0)
40   REG_S s9,29*SZREG(a0)
41   REG_S sp,30*SZREG(a0)
42   REG_S tp,31*SZREG(a0)
43
44   REG_S ra,33*SZREG(a0)
45
46   ret
47 .end __save_ros_tf_regs