OSDN Git Service

add riscv64 architecture support
[android-x86/external-musl-libc.git] / src / thread / riscv64 / syscall_cp.s
1 .global __cp_begin
2 .hidden __cp_begin
3 .global __cp_end
4 .hidden __cp_end
5 .global __cp_cancel
6 .hidden __cp_cancel
7 .hidden __cancel
8 .global __syscall_cp_asm
9 .hidden __syscall_cp_asm
10 .type __syscall_cp_asm, %function
11 __syscall_cp_asm:
12 __cp_begin:
13         lw t0, 0(a0)
14         bnez t0, __cp_cancel
15
16         mv t0, a1
17         mv a0, a2
18         mv a1, a3
19         mv a2, a4
20         mv a3, a5
21         mv a4, a6
22         mv a5, a7
23         ld a6, 0(sp)
24         mv a7, t0
25         ecall
26 __cp_end:
27         ret
28 __cp_cancel:
29         tail __cancel