add s390x port
[musl] / src / thread / s390x / syscall_cp.s
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         .text
11         .type   __syscall_cp_asm,%function
12 __syscall_cp_asm:
13 __cp_begin:
14         icm %r2, 15, 0(%r2)
15         jne __cp_cancel
16
17         stg %r7, 56(%r15)
18         lgr %r1, %r3
19         lgr %r2, %r4
20         lgr %r3, %r5
21         lgr %r4, %r6
22         lg  %r5, 160(%r15)
23         lg  %r6, 168(%r15)
24         lg  %r7, 176(%r15)
25         svc 0
26
27 __cp_end:
28         lg  %r7, 56(%r15)
29         br  %r14
30
31 __cp_cancel:
32         jg  __cancel