add 7-arg syscall support for mips
[musl] / src / internal / mips / syscall.s
1 .set    noreorder
2
3 .global __syscall
4 .type   __syscall,@function
5 __syscall:
6         move    $2, $4
7         move    $4, $5
8         move    $5, $6
9         move    $6, $7
10         lw      $7, 16($sp)
11         lw      $8, 20($sp)
12         lw      $9, 24($sp)
13         lw      $10,28($sp)
14         subu    $sp, $sp, 32
15         sw      $8, 16($sp)
16         sw      $9, 20($sp)
17         sw      $10,24($sp)
18         sw      $2 ,28($sp)
19         lw      $2, 28($sp)
20         syscall
21         beq     $7, $0, 1f
22         addu    $sp, $sp, 32
23         subu    $2, $0, $2
24 1:      jr      $ra
25         nop