Commit Graph
82 Commits
Author SHA1 Message Date
Stefanos Kornilios Mitsis Poiitidis 106892f824 Thunks: Use shared_mutex 2020-07-20 14:58:49 +03:00
Stefanos Kornilios Mitsis Poiitidis 8c8e6294b6 Thunks: ALTINST, OP_THUNK, basic infrastructure 2020-07-20 13:52:28 +03:00
Scott Mansell 183c5d9e22 Filesystem HLE: Intercept /proc/${getpid}/exe too 2020-07-18 09:16:59 +12:00
Ryan Houdek a1db6a0dec Adds new signal delegator class
Allows us to register host and guest signal delegators.
Currently only host signals are handled, guest signal delegation will
take a bit of work still.
2020-07-11 06:12:06 +01:00
Stefanos Kornilios Mitsis Poiitidis 630d66942c uname: Should return x86_64, not x64_64
Run into this in CS:GO.
With this fix it progresses much further, but still doesn't get to the menu.
2020-07-08 20:58:57 +03:00
Stefanos Kornilios Mitsis Poiitidis fc2d7656e0 syscalls: Warn on clone + ptrace instead of assert 2020-07-04 19:04:08 +03:00
Stefanos Kornilios Mitsis Poiitidis cb8f250078 syscalls: fork, vfork, eventfd2 2020-07-03 11:17:51 +03:00
Ryan Houdek 95f1775df5 Merge pull request #255 from FEX-Emu/skmp/implement-execve
syscalls: implement execve
2020-07-02 14:41:13 -07:00
Ryan Houdek 59cc3b576e Merge pull request #256 from FEX-Emu/skmp/implement-some-syscalls
syscalls: Implement a few easy ones
2020-07-02 14:40:25 -07:00
Ryan Houdek 03e084c7f0 Merge pull request #248 from FEX-Emu/fork_syscall
clone: Some support for fork, Flag validation
2020-07-02 14:39:23 -07:00
Stefanos Kornilios Mitsis Poiitidis 370397198b syscalls: (*)get/setxattr 2020-07-02 19:46:41 +03:00
Stefanos Kornilios Mitsis Poiitidis 9c48c7f487 syscalls: truncate,creat,chown,fchown,lchown,setpgid,getpgid,setfsuid,setfsgid,getsid,sync,syncfs 2020-07-02 19:34:21 +03:00
Stefanos Kornilios Mitsis Poiitidis 8234ffce3d syscalls: implement execve 2020-07-02 18:14:28 +03:00
Ryan Houdek 62f9917b79 Removes syscall strace parsing if not enabled
This was spending ~60seconds of time compiling on my c630.
Something about fmt string formatting causing heavy compile times on
ARM.
Better to just compile it out anyway.
2020-07-01 06:11:35 +01:00
Stefanos Kornilios Mitsis Poiitidis 2ccaea7d66 clone: Validate flags, cleanup 2020-06-30 16:23:43 +03:00
Ryan Houdek 8a5813e4d0 [WIP] Fork syscall support
Bit buggy
2020-06-30 16:22:47 +03:00
Ryan Houdek b73b585db3 Merge pull request #246 from FEX-Emu/skmp/fix-syscall-forward-macro
Syscalls/x64: Fix SYSCALL_FORWARD_ERRNO
2020-06-25 04:58:15 -07:00
Stefanos Kornilios Mitsis Poiitidis 7b7c4a9730 Syscalls/x64: Fix SYSCALL_FORWARD_ERRNO 2020-06-25 14:51:01 +03:00
Stefanos Kornilios Mitsis Poiitidis 4e515abb33 Syscalls: Add a wrapping class for better backtrace 2020-06-25 14:29:02 +03:00
Stefanos Kornilios Mitsis Poiitidis df1ed9442b Syscalls/x64: Add stubs for all syscalls, remove some syscall entries that are too new 2020-06-19 20:30:06 +03:00
Stefanos Kornilios Mitsis Poiitidis 7c2efe0155 Syscalls: Cleanup headers, add names, add NotImplemented 2020-06-19 13:07:07 +03:00
Stefanos Kornilios Mitsis Poiitidis eddd3dd4ed Syscalls/x64: Cleanup and document syscall registration/forwarding logic 2020-06-19 09:45:00 +03:00
Stefanos Kornilios Mitsis Poiitidis db213f94f3 Syscalls: Implement tkill, tgkill 2020-06-18 20:18:56 +03:00
Stefanos Kornilios Mitsis Poiitidis 0bf585bf76 Syscalls: Dynamic registration, auto strace generation 2020-06-18 19:57:58 +03:00
Scott Mansell 41635ee8be Implement fallocate syscall 2020-06-17 23:47:52 +12:00
Ryan Houdek 7a48d17d66 Implements two missing timerfd syscalls 2020-06-16 16:53:08 -07:00
Ryan Houdek 7302ad1996 Adds new FEX config for telling the guest how many CPU cores it can have
This is just a virtual number that the guest can query through the
various means. Will affect mesa with how many helper threads it
generates at the very least
2020-06-04 00:03:41 -07:00
Stefanos Kornilios Mitsis Poiitidis 2c8fccdcf2 syscalls/x64: Add fchdir 2020-06-03 16:01:06 +03:00
Ryan Houdek 7717425201 Merge pull request #224 from FEX-Emu/skmp/add-accept4
x64/syscalls: Add accept, accept4
2020-05-31 14:40:29 -07:00
Ryan Houdek efa26b3bf4 Merge pull request #223 from FEX-Emu/skmp/unhandled-syscall-show-number
x64/syscalls: Change HandleSyscall/Unimplemented Syscall to include syscall number
2020-05-31 14:39:47 -07:00
Stefanos Kornilios Mitsis Poiitidis 63ea0358bd syscalls/x64: Add pselect6 2020-05-31 15:31:16 +03:00
Stefanos Kornilios Mitsis Poiitidis 1f243f14be x64/syscalls: Add accept, accept4 2020-05-31 15:28:23 +03:00
Stefanos Kornilios Mitsis Poiitidis c200952cc6 x64/syscalls: Change HandleSyscall/Unimplemented Syscall to include syscall number 2020-05-31 14:14:10 +03:00
Stefanos Kornilios Mitsis Poiitidis 6cc3b6b0ea Syscalls/x64: Hook up SYSCALL_MSYNC, remove fixed tests from known failures 2020-05-29 12:43:52 +03:00
Stefanos Kornilios Mitsis Poiitidis 8206aa0413 Add ERROR_AND_DIE, use it on unhandled syscalls 2020-05-28 18:47:24 +03:00
Ryan Houdek 1d6aac1a5d Implements two handle_at syscalls 2020-05-27 18:32:17 -07:00
Ryan Houdek c78520c526 Implements symlink syscall 2020-05-27 18:32:17 -07:00
Stefanos Kornilios Mitsis Poiitidis 66a0293cdb Merge pull request #201 from Sonicadvance1/fix_file_flags
Fixes FD flags mismatch between x86 and ARM64
2020-05-26 12:52:26 +03:00
Ryan Houdek 7c8f7c732f Fixes some missing includes 2020-05-25 20:04:17 -07:00
Ryan Houdek 160da69c21 Fixes FD flags mismatch between x86 and ARM64
AArch64 redefines these four flags so they don't match between
architectures.
This is what was actually causing ls to fail, the x86 side was passing
in O_DIRECTORY which the AArch64 side was interpreting at O_DIRECT.
This made it return EINVAL
2020-05-26 02:44:11 +01:00
Stefanos Kornilios Mitsis Poiitidis f5d69722d7 Merge pull request #195 from Sonicadvance1/implement_get_rusage
Implements get_rusage syscall
2020-05-25 18:11:36 +03:00
Ryan Houdek 136a2e4291 Implements get_rusage syscall 2020-05-24 00:22:40 -07:00
Ryan Houdek a95d43fa37 Changes getcwd to use the syscall directly.
The glibc implementation and syscall implementation differ quite
significantly.
Just use the kernel interface one for now.
2020-05-24 00:21:51 -07:00
Ryan Houdek 10087f7757 Implements initial 32bit syscall support
This adds the initial 32bit syscalls for testing. No where near complete
2020-05-15 03:23:15 -07:00
Ryan Houdek d2cf07a4fd Passes the running mode through from FEX to FEXCore 2020-05-14 00:56:31 -07:00
Stefanos Kornilios Mitsis Poiitidis d58961ef1e Propagate guest exit code 2020-05-02 02:34:50 +03:00
Ryan Houdek 0d83454366 Merge pull request #170 from dmiller423/procfs_auxv
Added dup3 syscall, EmulatedFiles : /proc/{self,$PID}/auxv, modified …
2020-04-29 16:06:30 -07:00
David Miller 09f119a3ce removed front end header / class from EmulatedFiles.cpp 2020-04-29 16:39:40 -04:00
David Miller f916294772 Include unistd.h in EmulatedFiles.cpp as CI doesn't build 2020-04-29 16:04:39 -04:00
David Miller 306cca33d7 Added dup3 syscall, EmulatedFiles : /proc/{self,$PID}/auxv, modified OpenAt() to normalize path to canonical if possible or lexically_normal. Note: canonical will change symlinks, ensure the map keys take this into account. 2020-04-29 16:00:59 -04:00