xref: /aosp_15_r20/external/musl/src/thread/loongarch64/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
12__syscall_cp_asm:
13__cp_begin:
14	ld.w $a0, $a0, 0
15	bnez $a0, __cp_cancel
16	move $t8, $a1    # reserve system call number
17	move $a0, $a2
18	move $a1, $a3
19	move $a2, $a4
20	move $a3, $a5
21	move $a4, $a6
22	move $a5, $a7
23	move $a7, $t8
24	syscall 0
25__cp_end:
26	jr $ra
27__cp_cancel:
28	la.local $t8, __cancel
29	jr $t8
30