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