about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <seebastien.chev@gmail.com>2023-09-09 21:25:06 +0200
committerptitSeb <seebastien.chev@gmail.com>2023-09-09 21:25:06 +0200
commitcf7ac30215e30cc69b1b22c2aba110fbf1b85099 (patch)
tree4b47b2464c0eb9f4a378f7c2bff2331053aa9382 /src
parent547944ac884e79159a7d4ebe8d37d985a6a99161 (diff)
downloadbox64-cf7ac30215e30cc69b1b22c2aba110fbf1b85099.tar.gz
box64-cf7ac30215e30cc69b1b22c2aba110fbf1b85099.zip
Added syscall 284 (for #965)
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64syscall.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/emu/x64syscall.c b/src/emu/x64syscall.c
index 7eb2d533..994b1480 100644
--- a/src/emu/x64syscall.c
+++ b/src/emu/x64syscall.c
@@ -6,6 +6,7 @@
 
 #include <sys/syscall.h>   /* For SYS_xxx definitions */
 #include <sys/signalfd.h>
+#include <sys/eventfd.h>
 #include <unistd.h>
 #include <time.h>
 #include <sys/mman.h>
@@ -746,6 +747,12 @@ void EXPORT x64Syscall(x64emu_t *emu)
                     R_EAX = -errno;
             }
             break;
+        #ifndef _NR_eventfd
+        case 284:   // sys_eventfd
+            R_EAX = eventfd((int)R_EDI, 0);
+            if(R_EAX==-1)
+                R_EAX = -errno;
+        #endif
         case 317:   // sys_seccomp
             R_RAX = 0;  // ignoring call
             break;
@@ -1006,6 +1013,10 @@ uintptr_t EXPORT my_syscall(x64emu_t *emu)
                 return signalfd((int)R_ESI, set, 0);
             }
             break;
+        #ifndef _NR_eventfd
+        case 284:   // sys_eventfd
+            return eventfd((int)R_ESI, 0);
+        #endif
         case 317:   // sys_seccomp
             return 0;  // ignoring call
         #ifndef __NR_fchmodat4