diff options
| author | Andrea Orru <andrea@orru.io> | 2018-03-09 22:24:52 -0800 |
|---|---|---|
| committer | Andrea Orru <andrea@orru.io> | 2018-03-09 22:24:52 -0800 |
| commit | 70c3008a003345fe32d5f9cf6e2701c035e22ed3 (patch) | |
| tree | 852b3e8344c317194e1144e1eee77c6c4b88bd67 /std/os | |
| parent | 7a893691c0aedf4d7ae68a9eb06800e4094381cc (diff) | |
| download | zig-70c3008a003345fe32d5f9cf6e2701c035e22ed3.tar.gz zig-70c3008a003345fe32d5f9cf6e2701c035e22ed3.zip | |
Added 6 parameters syscalls for zen
Diffstat (limited to 'std/os')
| -rw-r--r-- | std/os/zen.zig | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/std/os/zen.zig b/std/os/zen.zig index 867bc6578f..b10b870d17 100644 --- a/std/os/zen.zig +++ b/std/os/zen.zig @@ -103,3 +103,17 @@ pub inline fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, [arg4] "{esi}" (arg4), [arg5] "{edi}" (arg5)); } + +pub inline fn syscall6(number: usize, arg1: usize, arg2: usize, arg3: usize, + arg4: usize, arg5: usize, arg6: usize) usize +{ + return asm volatile ("int $0x80" + : [ret] "={eax}" (-> usize) + : [number] "{eax}" (number), + [arg1] "{ecx}" (arg1), + [arg2] "{edx}" (arg2), + [arg3] "{ebx}" (arg3), + [arg4] "{esi}" (arg4), + [arg5] "{edi}" (arg5), + [arg6] "{ebp}" (arg6)); +} |
