xref: /aosp_15_r20/external/musl/src/thread/riscv64/syscall_cp.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
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
30