| ... | @@ -103,3 +103,17 @@ pub inline fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, | ... | @@ -103,3 +103,17 @@ pub inline fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, |
| 103 | [arg4] "{esi}" (arg4), | 103 | [arg4] "{esi}" (arg4), |
| 104 | [arg5] "{edi}" (arg5)); | 104 | [arg5] "{edi}" (arg5)); |
| 105 | } | 105 | } |
| | 106 | |
| | 107 | pub inline fn syscall6(number: usize, arg1: usize, arg2: usize, arg3: usize, |
| | 108 | arg4: usize, arg5: usize, arg6: usize) usize |
| | 109 | { |
| | 110 | return asm volatile ("int $0x80" |
| | 111 | : [ret] "={eax}" (-> usize) |
| | 112 | : [number] "{eax}" (number), |
| | 113 | [arg1] "{ecx}" (arg1), |
| | 114 | [arg2] "{edx}" (arg2), |
| | 115 | [arg3] "{ebx}" (arg3), |
| | 116 | [arg4] "{esi}" (arg4), |
| | 117 | [arg5] "{edi}" (arg5), |
| | 118 | [arg6] "{ebp}" (arg6)); |
| | 119 | } |