Ryan Houdek
edd1dfdfe8
Merge pull request #1040 from Sonicadvance1/more_syscalls_5_12
...
Implements more syscalls for supporting a higher guest kernel version
2021-06-01 00:27:50 -07:00
Ryan Houdek
4243ed19a4
Merge pull request #1037 from Sonicadvance1/fexconfig_downgrade
...
FEXConfig: Allow lower GL versions
2021-06-01 00:14:04 -07:00
Scott Mansell
16467c0fb7
Merge pull request #1038 from Sonicadvance1/implement_insertps
...
Implements SSE4.1 insertps
2021-06-01 19:04:53 +12:00
Ryan Houdek
0b7587768d
Unifies 32bit and 64bit clone implementation
...
Syscall entry points still have different argument orders,
Moves the arguments to the clone3 argument structure and passes to generic handler.
Also implements clone3 while doing this
2021-05-27 23:00:00 -07:00
Ryan Houdek
d115a57fe6
Implements support for execveat
2021-05-27 22:59:57 -07:00
Ryan Houdek
4c74478610
Implements iouring syscalls
...
This is a very simple initial implementation.
io_uring allows some things that are hard to capture like setting personalities.
Assume sane usage for now
2021-05-27 22:59:55 -07:00
Ryan Houdek
77a111cf19
Implements process_madvise 64-bit syscall
2021-05-27 22:59:52 -07:00
Ryan Houdek
7e551e5f88
Implements epoll_pwait2 syscall
2021-05-27 22:59:49 -07:00
Ryan Houdek
9d44dfdca6
Actually updated the hardcoded guest kernel locations
...
Just a couple of files and uname syscall
2021-05-27 22:59:47 -07:00
Ryan Houdek
a7858f4d37
Calculates a guest kernel version for FEX instead
...
Takes the host kernel version and makes sure it fits in our supported kernel range
Minimum kernel version FEX reports to the guest is 5.0
Maximum kernel version FEX reports to the guest is currently 5.12
2021-05-27 22:59:44 -07:00
Ryan Houdek
6b3b10f8ae
Implements pidfd_send_signal syscall
...
Now that we know when to forward a siginfo_t to the guest, we can allow this syscall
2021-05-27 22:59:42 -07:00
Ryan Houdek
9d5fa64f68
Implements pidfd_open syscall
2021-05-27 22:59:39 -07:00
Ryan Houdek
8b3bbd0ea1
Implements openat2
2021-05-27 22:59:37 -07:00
Ryan Houdek
cc477b6964
Implements close_range syscall
2021-05-27 22:59:34 -07:00
Ryan Houdek
7a64bba8c4
Removes check for ThreadState being standard layout
...
Latest clang and libstdc++ makes unique_ptr not be standard layout.
Results in a compile error
2021-05-27 22:59:31 -07:00
Ryan Houdek
2d342d4662
Handle user provided siginfo_t with user signal
...
If the guest has sent a signal and the si_code is SI_USER then
we need to pass that siginfo_t through without touching it.
User could be sticking whatever they want in to that struct
2021-05-27 22:59:27 -07:00
Stefanos Kornilios Mitsis Poiitidis
7b41808806
Merge pull request #1039 from Sonicadvance1/pidfd_getfd
...
Implements pidfd_getfd syscall
2021-05-28 07:30:30 +03:00
Ryan Houdek
912d019ad8
Implements pidfd_getfd syscall
...
Rise of the Tomb Raider launcher uses this without checking host kernel version.
Might be part of their crash handler.
2021-05-27 18:44:12 -07:00
Ryan Houdek
1f9405b880
Implements insertps unit test
2021-05-26 21:41:16 -07:00
Ryan Houdek
211e7bf0f0
Implements SSE4.1 insertps
...
Cheap Golf is using this instruction unconditionally.
With this implemented the game now runs
2021-05-26 21:40:39 -07:00
Ryan Houdek
822a08f271
FEXConfig: Allow lower GL versions
...
Automatically fall back through older GL versions
This allows us to freely support GL 3.0, 2.1 and ES 2.0.
Should fix an issue where Pi devices don't support GL 3.0 in all configs
External imgui had to be updated to fix an issue with ES 2.0
Fixes #1036
2021-05-26 18:45:03 -07:00
Ryan Houdek
6cba775d4e
Merge pull request #1032 from FEX-Emu/skmp/aotir-gen-mt
...
Multi threaded AOTGen
2021-05-24 23:06:13 -07:00
Ryan Houdek
8b5873061a
Merge pull request #1033 from lioncash/fmtlib
...
Externals: Add fmtlib as an external
2021-05-20 14:58:33 -07:00
Lioncash
37a33bf127
Externals: Add fmt as an external
...
Begins the process of addressing issue #146 .
This is separated off, so that others can make use of fmt for other
purposes (general localized non-sucky string formatting), while the
logging rework is being tackled.
2021-05-20 13:18:38 -04:00
Stefanos Kornilios Mitsis Poiitidis
d70c91ddc6
AOTIR: Multi-threaded AOTGen
2021-05-19 14:19:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
370f36c8f7
Merge pull request #1027 from Sonicadvance1/fix_ppoll
...
ppoll fixes
2021-05-18 09:20:32 +03:00
Ryan Houdek
42bb27b1fb
Merge pull request #1025 from Sonicadvance1/ignore_non_canonical
...
Ignore non-canonical addresses in FS/GS setting
2021-05-12 22:31:09 -07:00
Ryan Houdek
f522303837
gvisor: arch_prctl now passes
2021-05-12 22:17:13 -07:00
Ryan Houdek
3d09a55715
Ignore non-canonical addresses in FS/GS setting
2021-05-12 22:17:13 -07:00
Ryan Houdek
c103f54774
Merge pull request #1028 from Sonicadvance1/remove_syscall_forwards
...
Removes syscall forward errno preprocessor implementation
2021-05-12 22:04:30 -07:00
Ryan Houdek
dc7437b8c6
Merge pull request #1018 from FEX-Emu/skmp/streamable-aotir
...
AOTIR: .aotir files are now streamed out
2021-05-12 22:04:17 -07:00
Ryan Houdek
b45503f93c
gvisor: chown and sync tests now pass
2021-05-12 21:54:08 -07:00
Ryan Houdek
8cf1b0263d
Removes syscall forward errno preprocessor implementation
...
This was causing issues with syscalls returning errors.
Remove it and move on
2021-05-12 21:53:45 -07:00
Stefanos Kornilios Mitsis Poiitidis
7ecaf24e8b
Merge pull request #1030 from Sonicadvance1/disable_userfaultfd
...
Disable userfaultfd until supported
2021-05-12 09:45:43 +03:00
Stefanos Kornilios Mitsis Poiitidis
52f7ea5433
Merge pull request #1029 from Sonicadvance1/fix_fadvise64
...
Fix fadvise64
2021-05-12 09:45:21 +03:00
Stefanos Kornilios Mitsis Poiitidis
023a32ea26
Merge pull request #1026 from Sonicadvance1/fix_flag_remapping
...
Handle FD flag remapping correctly
2021-05-12 09:39:39 +03:00
Stefanos Kornilios Mitsis Poiitidis
36980131e0
Merge pull request #1024 from Sonicadvance1/signal_fixes
...
Sigaction fixes
2021-05-12 09:34:51 +03:00
Stefanos Kornilios Mitsis Poiitidis
b2eb13fa1c
Merge pull request #1023 from Sonicadvance1/emulate_map_32bit
...
Emulate MAP_32BIT in mmap
2021-05-12 09:34:18 +03:00
Stefanos Kornilios Mitsis Poiitidis
27b6497bee
Merge pull request #1031 from Sonicadvance1/fix_epoll
...
Use epoll syscalls directly
2021-05-12 09:33:59 +03:00
Stefanos Kornilios Mitsis Poiitidis
66ee89ec8a
Merge pull request #1022 from Sonicadvance1/fix_uname
...
Fix uname
2021-05-12 09:22:58 +03:00
Stefanos Kornilios Mitsis Poiitidis
bee73199e1
Merge pull request #1021 from Sonicadvance1/fix_thread_self
...
Support redirecting thread-self exe softlink
2021-05-12 09:22:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
0e6db843ef
Merge pull request #1020 from Sonicadvance1/invalid_syscall
...
Return ENOSYS on too large of syscall number
2021-05-12 09:21:17 +03:00
Stefanos Kornilios Mitsis Poiitidis
b45538f01e
Merge pull request #1019 from Sonicadvance1/fix_emufd
...
Fix two EmuFD issues
2021-05-12 09:20:53 +03:00
Ryan Houdek
f8cf98d378
gvisor: fadvise64 test now passes
2021-05-11 18:55:48 -07:00
Ryan Houdek
796c5ccbc9
gvisor: sigaction_test now passes
2021-05-11 18:54:08 -07:00
Ryan Houdek
b157a5a0fb
gvisor: bad_test now passes
2021-05-11 18:53:22 -07:00
Ryan Houdek
783ceb2d56
Use epoll syscalls directly
2021-05-11 18:51:06 -07:00
Ryan Houdek
d1fc65daaa
Disable userfaultfd until supported
...
Until we properly wrap this we can't support it
2021-05-11 18:44:31 -07:00
Ryan Houdek
94f464e1a4
Fix fadvise64
...
posix variant still doesn't quite match the actual syscall implementation
2021-05-11 18:39:00 -07:00
Ryan Houdek
dfb15aaeb9
ppoll fixes
...
glibc implementation makes a copy of the timeout and the kernel is expected to update it
Can't use the glibc implementation because of this.
2021-05-11 18:33:24 -07:00