xref: /aosp_15_r20/external/musl/src/thread/riscv64/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__syscall_cp_asm:
12*c9945492SAndroid Build Coastguard Worker__cp_begin:
13*c9945492SAndroid Build Coastguard Worker	lw t0, 0(a0)
14*c9945492SAndroid Build Coastguard Worker	bnez t0, __cp_cancel
15*c9945492SAndroid Build Coastguard Worker
16*c9945492SAndroid Build Coastguard Worker	mv t0, a1
17*c9945492SAndroid Build Coastguard Worker	mv a0, a2
18*c9945492SAndroid Build Coastguard Worker	mv a1, a3
19*c9945492SAndroid Build Coastguard Worker	mv a2, a4
20*c9945492SAndroid Build Coastguard Worker	mv a3, a5
21*c9945492SAndroid Build Coastguard Worker	mv a4, a6
22*c9945492SAndroid Build Coastguard Worker	mv a5, a7
23*c9945492SAndroid Build Coastguard Worker	ld a6, 0(sp)
24*c9945492SAndroid Build Coastguard Worker	mv a7, t0
25*c9945492SAndroid Build Coastguard Worker	ecall
26*c9945492SAndroid Build Coastguard Worker__cp_end:
27*c9945492SAndroid Build Coastguard Worker	ret
28*c9945492SAndroid Build Coastguard Worker__cp_cancel:
29*c9945492SAndroid Build Coastguard Worker	tail __cancel
30