Fixed syscalls

This commit is contained in:
Alex 2022-12-13 22:52:57 +02:00
parent 6cc71028c9
commit 0fa30d6d7c
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD

View File

@ -55,33 +55,36 @@ static inline long syscall3(long syscall, long arg1, long arg2, long arg3)
static inline long syscall4(long syscall, long arg1, long arg2, long arg3, long arg4)
{
unsigned long ret;
/* FIXME: matching constraint references invalid operand number */
// __asm__ __volatile__("syscall"
// : "=a"(ret)
// : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r10"(arg4)
// : "rcx", "r11", "memory");
register long r10 __asm__("r10") = arg4;
__asm__ __volatile__("syscall"
: "=a"(ret)
: "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10)
: "rcx", "r11", "memory");
return ret;
}
static inline long syscall5(long syscall, long arg1, long arg2, long arg3, long arg4, long arg5)
{
unsigned long ret;
/* FIXME: matching constraint references invalid operand number */
// __asm__ __volatile__("syscall"
// : "=a"(ret)
// : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r10"(arg4), "r8"(arg5)
// : "rcx", "r11", "memory");
register long r10 __asm__("r10") = arg4;
register long r8 __asm__("r8") = arg5;
__asm__ __volatile__("syscall"
: "=a"(ret)
: "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10), "r"(r8)
: "rcx", "r11", "memory");
return ret;
}
static inline long syscall6(long syscall, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6)
{
unsigned long ret;
/* FIXME: matching constraint references invalid operand number */
// __asm__ __volatile__("syscall"
// : "=a"(ret)
// : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r10"(arg4), "r8"(arg5), "r9"(arg6)
// : "rcx", "r11", "memory");
register long r10 __asm__("r10") = arg4;
register long r8 __asm__("r8") = arg5;
register long r9 __asm__("r9") = arg6;
__asm__ __volatile__("syscall"
: "=a"(ret)
: "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10), "r"(r8), "r"(r9)
: "rcx", "r11", "memory");
return ret;
}