| author | |
| committer | |
| log | 6a76298740344ba6d82c33b19914238a1233eaa0 |
| tree | bfab6a5d556079721c40681d2f33572ee548a479 |
| parent | 5308eb7045b7b6a48356c6e814baf2a45a094d80 |
2 files changed, 14 insertions(+), 0 deletions(-)
std/os/linux/arm-eabi.zig+7| ... | @@ -2,6 +2,7 @@ pub fn syscall0(number: usize) usize { | ... | @@ -2,6 +2,7 @@ pub fn syscall0(number: usize) usize { |
| 2 | return asm volatile ("svc #0" | 2 | return asm volatile ("svc #0" |
| 3 | : [ret] "={r0}" (-> usize) | 3 | : [ret] "={r0}" (-> usize) |
| 4 | : [number] "{r7}" (number) | 4 | : [number] "{r7}" (number) |
| 5 | : "memory" | ||
| 5 | ); | 6 | ); |
| 6 | } | 7 | } |
| 7 | 8 | ||
| ... | @@ -10,6 +11,7 @@ pub fn syscall1(number: usize, arg1: usize) usize { | ... | @@ -10,6 +11,7 @@ pub fn syscall1(number: usize, arg1: usize) usize { |
| 10 | : [ret] "={r0}" (-> usize) | 11 | : [ret] "={r0}" (-> usize) |
| 11 | : [number] "{r7}" (number), | 12 | : [number] "{r7}" (number), |
| 12 | [arg1] "{r0}" (arg1) | 13 | [arg1] "{r0}" (arg1) |
| 14 | : "memory" | ||
| 13 | ); | 15 | ); |
| 14 | } | 16 | } |
| 15 | 17 | ||
| ... | @@ -19,6 +21,7 @@ pub fn syscall2(number: usize, arg1: usize, arg2: usize) usize { | ... | @@ -19,6 +21,7 @@ pub fn syscall2(number: usize, arg1: usize, arg2: usize) usize { |
| 19 | : [number] "{r7}" (number), | 21 | : [number] "{r7}" (number), |
| 20 | [arg1] "{r0}" (arg1), | 22 | [arg1] "{r0}" (arg1), |
| 21 | [arg2] "{r1}" (arg2) | 23 | [arg2] "{r1}" (arg2) |
| 24 | : "memory" | ||
| 22 | ); | 25 | ); |
| 23 | } | 26 | } |
| 24 | 27 | ||
| ... | @@ -29,6 +32,7 @@ pub fn syscall3(number: usize, arg1: usize, arg2: usize, arg3: usize) usize { | ... | @@ -29,6 +32,7 @@ pub fn syscall3(number: usize, arg1: usize, arg2: usize, arg3: usize) usize { |
| 29 | [arg1] "{r0}" (arg1), | 32 | [arg1] "{r0}" (arg1), |
| 30 | [arg2] "{r1}" (arg2), | 33 | [arg2] "{r1}" (arg2), |
| 31 | [arg3] "{r2}" (arg3) | 34 | [arg3] "{r2}" (arg3) |
| 35 | : "memory" | ||
| 32 | ); | 36 | ); |
| 33 | } | 37 | } |
| 34 | 38 | ||
| ... | @@ -40,6 +44,7 @@ pub fn syscall4(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz | ... | @@ -40,6 +44,7 @@ pub fn syscall4(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz |
| 40 | [arg2] "{r1}" (arg2), | 44 | [arg2] "{r1}" (arg2), |
| 41 | [arg3] "{r2}" (arg3), | 45 | [arg3] "{r2}" (arg3), |
| 42 | [arg4] "{r3}" (arg4) | 46 | [arg4] "{r3}" (arg4) |
| 47 | : "memory" | ||
| 43 | ); | 48 | ); |
| 44 | } | 49 | } |
| 45 | 50 | ||
| ... | @@ -52,6 +57,7 @@ pub fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz | ... | @@ -52,6 +57,7 @@ pub fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz |
| 52 | [arg3] "{r2}" (arg3), | 57 | [arg3] "{r2}" (arg3), |
| 53 | [arg4] "{r3}" (arg4), | 58 | [arg4] "{r3}" (arg4), |
| 54 | [arg5] "{r4}" (arg5) | 59 | [arg5] "{r4}" (arg5) |
| 60 | : "memory" | ||
| 55 | ); | 61 | ); |
| 56 | } | 62 | } |
| 57 | 63 | ||
| ... | @@ -73,6 +79,7 @@ pub fn syscall6( | ... | @@ -73,6 +79,7 @@ pub fn syscall6( |
| 73 | [arg4] "{r3}" (arg4), | 79 | [arg4] "{r3}" (arg4), |
| 74 | [arg5] "{r4}" (arg5), | 80 | [arg5] "{r4}" (arg5), |
| 75 | [arg6] "{r5}" (arg6) | 81 | [arg6] "{r5}" (arg6) |
| 82 | : "memory" | ||
| 76 | ); | 83 | ); |
| 77 | } | 84 | } |
| 78 | 85 |
std/os/linux/arm64.zig+7| ... | @@ -2,6 +2,7 @@ pub fn syscall0(number: usize) usize { | ... | @@ -2,6 +2,7 @@ pub fn syscall0(number: usize) usize { |
| 2 | return asm volatile ("svc #0" | 2 | return asm volatile ("svc #0" |
| 3 | : [ret] "={x0}" (-> usize) | 3 | : [ret] "={x0}" (-> usize) |
| 4 | : [number] "{x8}" (number) | 4 | : [number] "{x8}" (number) |
| 5 | : "memory", "cc" | ||
| 5 | ); | 6 | ); |
| 6 | } | 7 | } |
| 7 | 8 | ||
| ... | @@ -10,6 +11,7 @@ pub fn syscall1(number: usize, arg1: usize) usize { | ... | @@ -10,6 +11,7 @@ pub fn syscall1(number: usize, arg1: usize) usize { |
| 10 | : [ret] "={x0}" (-> usize) | 11 | : [ret] "={x0}" (-> usize) |
| 11 | : [number] "{x8}" (number), | 12 | : [number] "{x8}" (number), |
| 12 | [arg1] "{x0}" (arg1) | 13 | [arg1] "{x0}" (arg1) |
| 14 | : "memory", "cc" | ||
| 13 | ); | 15 | ); |
| 14 | } | 16 | } |
| 15 | 17 | ||
| ... | @@ -19,6 +21,7 @@ pub fn syscall2(number: usize, arg1: usize, arg2: usize) usize { | ... | @@ -19,6 +21,7 @@ pub fn syscall2(number: usize, arg1: usize, arg2: usize) usize { |
| 19 | : [number] "{x8}" (number), | 21 | : [number] "{x8}" (number), |
| 20 | [arg1] "{x0}" (arg1), | 22 | [arg1] "{x0}" (arg1), |
| 21 | [arg2] "{x1}" (arg2) | 23 | [arg2] "{x1}" (arg2) |
| 24 | : "memory", "cc" | ||
| 22 | ); | 25 | ); |
| 23 | } | 26 | } |
| 24 | 27 | ||
| ... | @@ -29,6 +32,7 @@ pub fn syscall3(number: usize, arg1: usize, arg2: usize, arg3: usize) usize { | ... | @@ -29,6 +32,7 @@ pub fn syscall3(number: usize, arg1: usize, arg2: usize, arg3: usize) usize { |
| 29 | [arg1] "{x0}" (arg1), | 32 | [arg1] "{x0}" (arg1), |
| 30 | [arg2] "{x1}" (arg2), | 33 | [arg2] "{x1}" (arg2), |
| 31 | [arg3] "{x2}" (arg3) | 34 | [arg3] "{x2}" (arg3) |
| 35 | : "memory", "cc" | ||
| 32 | ); | 36 | ); |
| 33 | } | 37 | } |
| 34 | 38 | ||
| ... | @@ -40,6 +44,7 @@ pub fn syscall4(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz | ... | @@ -40,6 +44,7 @@ pub fn syscall4(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz |
| 40 | [arg2] "{x1}" (arg2), | 44 | [arg2] "{x1}" (arg2), |
| 41 | [arg3] "{x2}" (arg3), | 45 | [arg3] "{x2}" (arg3), |
| 42 | [arg4] "{x3}" (arg4) | 46 | [arg4] "{x3}" (arg4) |
| 47 | : "memory", "cc" | ||
| 43 | ); | 48 | ); |
| 44 | } | 49 | } |
| 45 | 50 | ||
| ... | @@ -52,6 +57,7 @@ pub fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz | ... | @@ -52,6 +57,7 @@ pub fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usiz |
| 52 | [arg3] "{x2}" (arg3), | 57 | [arg3] "{x2}" (arg3), |
| 53 | [arg4] "{x3}" (arg4), | 58 | [arg4] "{x3}" (arg4), |
| 54 | [arg5] "{x4}" (arg5) | 59 | [arg5] "{x4}" (arg5) |
| 60 | : "memory", "cc" | ||
| 55 | ); | 61 | ); |
| 56 | } | 62 | } |
| 57 | 63 | ||
| ... | @@ -73,6 +79,7 @@ pub fn syscall6( | ... | @@ -73,6 +79,7 @@ pub fn syscall6( |
| 73 | [arg4] "{x3}" (arg4), | 79 | [arg4] "{x3}" (arg4), |
| 74 | [arg5] "{x4}" (arg5), | 80 | [arg5] "{x4}" (arg5), |
| 75 | [arg6] "{x5}" (arg6) | 81 | [arg6] "{x5}" (arg6) |
| 82 | : "memory", "cc" | ||
| 76 | ); | 83 | ); |
| 77 | } | 84 | } |
| 78 | 85 |