xref: /third_party/musl/src/thread/i386/syscall_cp.s (revision 570af302)
1570af302Sopenharmony_ci.text
2570af302Sopenharmony_ci.global __cp_begin
3570af302Sopenharmony_ci.hidden __cp_begin
4570af302Sopenharmony_ci.global __cp_end
5570af302Sopenharmony_ci.hidden __cp_end
6570af302Sopenharmony_ci.global __cp_cancel
7570af302Sopenharmony_ci.hidden __cp_cancel
8570af302Sopenharmony_ci.hidden __cancel
9570af302Sopenharmony_ci.global __syscall_cp_asm
10570af302Sopenharmony_ci.hidden __syscall_cp_asm
11570af302Sopenharmony_ci.type   __syscall_cp_asm,@function
12570af302Sopenharmony_ci__syscall_cp_asm:
13570af302Sopenharmony_ci	mov 4(%esp),%ecx
14570af302Sopenharmony_ci	pushl %ebx
15570af302Sopenharmony_ci	pushl %esi
16570af302Sopenharmony_ci	pushl %edi
17570af302Sopenharmony_ci	pushl %ebp
18570af302Sopenharmony_ci__cp_begin:
19570af302Sopenharmony_ci	movl (%ecx),%eax
20570af302Sopenharmony_ci	testl %eax,%eax
21570af302Sopenharmony_ci	jnz __cp_cancel
22570af302Sopenharmony_ci	movl 24(%esp),%eax
23570af302Sopenharmony_ci	movl 28(%esp),%ebx
24570af302Sopenharmony_ci	movl 32(%esp),%ecx
25570af302Sopenharmony_ci	movl 36(%esp),%edx
26570af302Sopenharmony_ci	movl 40(%esp),%esi
27570af302Sopenharmony_ci	movl 44(%esp),%edi
28570af302Sopenharmony_ci	movl 48(%esp),%ebp
29570af302Sopenharmony_ci	int $128
30570af302Sopenharmony_ci__cp_end:
31570af302Sopenharmony_ci	popl %ebp
32570af302Sopenharmony_ci	popl %edi
33570af302Sopenharmony_ci	popl %esi
34570af302Sopenharmony_ci	popl %ebx
35570af302Sopenharmony_ci	ret
36570af302Sopenharmony_ci__cp_cancel:
37570af302Sopenharmony_ci	popl %ebp
38570af302Sopenharmony_ci	popl %edi
39570af302Sopenharmony_ci	popl %esi
40570af302Sopenharmony_ci	popl %ebx
41570af302Sopenharmony_ci	jmp __cancel
42