diff options
Diffstat (limited to 'src/internal/arm/syscall.s')
-rw-r--r-- | src/internal/arm/syscall.s | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/internal/arm/syscall.s b/src/internal/arm/syscall.s new file mode 100644 index 00000000..c5ae25c3 --- /dev/null +++ b/src/internal/arm/syscall.s @@ -0,0 +1,15 @@ +.global __syscall +.type __syscall,%function +__syscall: + mov ip,sp + stmfd sp!,{r4,r5,r6,r7} + mov r7,r0 + mov r0,r1 + mov r1,r2 + mov r2,r3 + ldmfd ip,{r3,r4,r5,r6} + svc 0 + ldmfd sp!,{r4,r5,r6,r7} + tst lr,#1 + moveq pc,lr + bx lr |