syscall_cp.s raw
1 .text
2 .global __cp_begin
3 .hidden __cp_begin
4 .global __cp_end
5 .hidden __cp_end
6 .global __cp_cancel
7 .hidden __cp_cancel
8 .hidden __cancel
9 .global __syscall_cp_asm
10 .hidden __syscall_cp_asm
11 .type __syscall_cp_asm,@function
12 __syscall_cp_asm:
13 mov 4(%esp),%ecx
14 pushl %ebx
15 pushl %esi
16 pushl %edi
17 pushl %ebp
18 __cp_begin:
19 movl (%ecx),%eax
20 testl %eax,%eax
21 jnz __cp_cancel
22 movl 24(%esp),%eax
23 movl 28(%esp),%ebx
24 movl 32(%esp),%ecx
25 movl 36(%esp),%edx
26 movl 40(%esp),%esi
27 movl 44(%esp),%edi
28 movl 48(%esp),%ebp
29 int $128
30 __cp_end:
31 popl %ebp
32 popl %edi
33 popl %esi
34 popl %ebx
35 ret
36 __cp_cancel:
37 popl %ebp
38 popl %edi
39 popl %esi
40 popl %ebx
41 jmp __cancel
42