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) static inline long syscall4(long syscall, long arg1, long arg2, long arg3, long arg4)
{ {
unsigned long ret; unsigned long ret;
/* FIXME: matching constraint references invalid operand number */ register long r10 __asm__("r10") = arg4;
// __asm__ __volatile__("syscall" __asm__ __volatile__("syscall"
// : "=a"(ret) : "=a"(ret)
// : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r10"(arg4) : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10)
// : "rcx", "r11", "memory"); : "rcx", "r11", "memory");
return ret; return ret;
} }
static inline long syscall5(long syscall, long arg1, long arg2, long arg3, long arg4, long arg5) static inline long syscall5(long syscall, long arg1, long arg2, long arg3, long arg4, long arg5)
{ {
unsigned long ret; unsigned long ret;
/* FIXME: matching constraint references invalid operand number */ register long r10 __asm__("r10") = arg4;
// __asm__ __volatile__("syscall" register long r8 __asm__("r8") = arg5;
// : "=a"(ret) __asm__ __volatile__("syscall"
// : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r10"(arg4), "r8"(arg5) : "=a"(ret)
// : "rcx", "r11", "memory"); : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10), "r"(r8)
: "rcx", "r11", "memory");
return ret; return ret;
} }
static inline long syscall6(long syscall, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6) static inline long syscall6(long syscall, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6)
{ {
unsigned long ret; unsigned long ret;
/* FIXME: matching constraint references invalid operand number */ register long r10 __asm__("r10") = arg4;
// __asm__ __volatile__("syscall" register long r8 __asm__("r8") = arg5;
// : "=a"(ret) register long r9 __asm__("r9") = arg6;
// : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r10"(arg4), "r8"(arg5), "r9"(arg6) __asm__ __volatile__("syscall"
// : "rcx", "r11", "memory"); : "=a"(ret)
: "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10), "r"(r8), "r"(r9)
: "rcx", "r11", "memory");
return ret; return ret;
} }