initial commit of the arm port
[musl] / src / thread / arm / syscall_cp.s
1 .global __syscall_cp_asm
2 .type __syscall_cp_asm,%function
3 __syscall_cp_asm:
4         mov ip,sp
5         stmfd sp!,{r4,r5,r6,r7,lr}
6         stmfd sp!,{r0}
7         bl 1f
8 1:      mov r4,#(1f-.)
9         add r4,r4,lr
10         str r4,[r0,#4]
11         str sp,[r0]
12         mov r7,r1
13         mov r0,r2
14         mov r1,r3
15         ldmfd ip,{r2,r3,r4,r5,r6}
16 1:      svc 0
17         ldmfd sp!,{r1}
18         mov r2,#0
19         str r2,[r1]
20         ldmfd sp!,{r4,r5,r6,r7,lr}
21         tst lr,#1
22         moveq pc,lr
23         bx lr