xref: /aosp_15_r20/external/musl/src/thread/loongarch64/syscall_cp.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.global __cp_begin
2*c9945492SAndroid Build Coastguard Worker.hidden __cp_begin
3*c9945492SAndroid Build Coastguard Worker.global __cp_end
4*c9945492SAndroid Build Coastguard Worker.hidden __cp_end
5*c9945492SAndroid Build Coastguard Worker.global __cp_cancel
6*c9945492SAndroid Build Coastguard Worker.hidden __cp_cancel
7*c9945492SAndroid Build Coastguard Worker.hidden __cancel
8*c9945492SAndroid Build Coastguard Worker.global __syscall_cp_asm
9*c9945492SAndroid Build Coastguard Worker.hidden __syscall_cp_asm
10*c9945492SAndroid Build Coastguard Worker.type   __syscall_cp_asm,@function
11*c9945492SAndroid Build Coastguard Worker
12*c9945492SAndroid Build Coastguard Worker__syscall_cp_asm:
13*c9945492SAndroid Build Coastguard Worker__cp_begin:
14*c9945492SAndroid Build Coastguard Worker	ld.w $a0, $a0, 0
15*c9945492SAndroid Build Coastguard Worker	bnez $a0, __cp_cancel
16*c9945492SAndroid Build Coastguard Worker	move $t8, $a1    # reserve system call number
17*c9945492SAndroid Build Coastguard Worker	move $a0, $a2
18*c9945492SAndroid Build Coastguard Worker	move $a1, $a3
19*c9945492SAndroid Build Coastguard Worker	move $a2, $a4
20*c9945492SAndroid Build Coastguard Worker	move $a3, $a5
21*c9945492SAndroid Build Coastguard Worker	move $a4, $a6
22*c9945492SAndroid Build Coastguard Worker	move $a5, $a7
23*c9945492SAndroid Build Coastguard Worker	move $a7, $t8
24*c9945492SAndroid Build Coastguard Worker	syscall 0
25*c9945492SAndroid Build Coastguard Worker__cp_end:
26*c9945492SAndroid Build Coastguard Worker	jr $ra
27*c9945492SAndroid Build Coastguard Worker__cp_cancel:
28*c9945492SAndroid Build Coastguard Worker	la.local $t8, __cancel
29*c9945492SAndroid Build Coastguard Worker	jr $t8
30