Ryan Houdek
08bc7a8364
Merge pull request #967 from FEX-Emu/skmp/new-elf-loading
...
ELF: Simpler loader, uses mmap
2021-04-16 18:35:56 -07:00
Stefanos Kornilios Mitsis Poiitidis
13bfdcad06
Emulated Files: Don't precalculate /proc/pid path, it changes after fork
2021-04-15 15:33:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
38a707b38e
Add missing functions to elfcodeloader2
2021-04-15 13:51:22 +03:00
Stefanos Kornilios Mitsis Poiitidis
ada7915b01
Convert an assert to log
2021-04-15 13:40:28 +03:00
Stefanos Kornilios Mitsis Poiitidis
9775a2148e
Fix rootfs interpreter loading
2021-04-15 12:16:33 +03:00
Stefanos Kornilios Mitsis Poiitidis
bc8696828b
More logging
2021-04-15 12:14:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
7d792e65f0
Rootfs, assert fixes
2021-04-15 12:04:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
14b5b881c5
Add more logging
2021-04-15 11:47:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
830e41459c
Fix build for test harness, irloader
2021-04-15 11:05:07 +03:00
Stefanos Kornilios Mitsis Poiitidis
0db99ea4f6
Use allocator for x32
2021-04-15 10:51:16 +03:00
Stefanos Kornilios Mitsis Poiitidis
22f1cf0e2a
More wip
2021-04-15 10:05:59 +03:00
Stefanos Kornilios Mitsis Poiitidis
80493487db
ELF Loading: Cleanups all around
2021-04-14 10:59:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
59ce750af6
Elf: Add ELFCodeLoader2, with simplified loading logic
2021-04-13 15:59:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
a0a382cc5c
Clear up file naming a big
2021-04-13 15:59:36 +03:00
Ryan Houdek
6cc7d065aa
Merge pull request #964 from Sonicadvance1/paranoid_tso
...
First step in paranoid TSO mode
2021-04-12 23:34:54 -07:00
Ryan Houdek
cc0c45cf47
Switches FEX over to using jemalloc
...
This is the first step that we need to do for correct 32-bit memory allocations.
2021-04-08 12:42:37 -07:00
Ryan Houdek
849b83bd02
Adds new ParanoidTSO option
2021-04-06 18:46:52 -07:00
Ryan Houdek
235f6fbe39
Strip symbols and dead sections
...
These are unnecessary and just add some file bloat. Strip them out
2021-04-06 00:39:03 -07:00
Stefanos Kornilios Mitsis Poiitidis
5e6c6adf8b
Merge pull request #956 from Sonicadvance1/enable_gcc_32_tests
...
Enables GCC 32-bit unit tests
2021-04-06 09:48:38 +03:00
Ryan Houdek
0cb53fff89
Change kernel version error to not be fatal
2021-04-05 23:09:06 -07:00
Ryan Houdek
f1663abe81
Removes getenv usage for aotir
...
We can't rely on `getenv("HOME")` always working.
Have the AOTIR code use the helper method for getting the data directory instead.
2021-04-04 21:43:14 -07:00
Ryan Houdek
8319a85524
Merge pull request #946 from Sonicadvance1/fix_eventfd
...
Fixes eventfd and eventfd2
2021-04-03 06:52:32 -07:00
Ryan Houdek
8ad45071e4
Merge pull request #945 from Sonicadvance1/fix_truncate_creat
...
Fixes truncate and creat
2021-04-03 06:47:31 -07:00
Ryan Houdek
3379f3a8f9
Fixes eventfd and eventfd2
...
glibc function signature doesn't match kernel
2021-04-03 06:46:28 -07:00
Stefanos Kornilios Mitsis Poiitidis
c76205040e
Merge pull request #944 from Sonicadvance1/fix_clock_nanosleep
...
Fixes clock_nanosleep
2021-04-03 11:09:46 +03:00
Stefanos Kornilios Mitsis Poiitidis
648ef617cf
Merge pull request #943 from Sonicadvance1/fix_fexconfig_unnamed_options
...
Fixes FEXConfig filling in unnamed options
2021-04-03 11:09:21 +03:00
Ryan Houdek
5d63dc179c
Fixes truncate and creat
...
These were using the passthrough helper which doesn't was breaking the result value
2021-04-02 20:45:33 -07:00
Ryan Houdek
858566c356
Fixes clock_nanosleep
...
glibc version behaves slightly differently than kernel
2021-04-02 20:41:04 -07:00
Ryan Houdek
fb94e62df1
Fixes FEXConfig filling in unnamed options
...
These aren't meant to be set by the user
2021-04-02 20:28:12 -07:00
Ryan Houdek
51e4fe7f0a
Fixes wrapping cmdline arguments
...
In case an application checks this
2021-04-02 20:26:28 -07:00
Ryan Houdek
6923c47a70
Fixes pselect6 signal arg pack argument
...
This doesn't exactly match the glibc call so do the syscall directly
2021-04-02 13:23:07 -07:00
Ryan Houdek
f922e6420b
Allow opening the first configuration file passed in
...
Lets us easily open any configuration file
2021-04-01 19:25:17 -07:00
Ryan Houdek
7ff06c828f
Loads default config if doesn't exist
...
Allows us to save a folder with the default if we want it
2021-04-01 19:22:53 -07:00
Ryan Houdek
be16cc1456
Fixes window ordering so popup message is visible without config open
...
This was a child of the config popup before.
Moves it to a child of the workspace instead so that if we had a load error the message is still visible
2021-04-01 19:16:03 -07:00
Ryan Houdek
59df3d13cc
Don't set up RootFS folder or inotify thread on config load failure
...
Can happen in the case that the default file tries to get loaded and doens't exist
2021-04-01 19:15:08 -07:00
Ryan Houdek
1adf518e6f
Don't try creating inotify thread twice
...
If the inotify FD is already opened then just early exit
Can happen in the case that a config tries to get opened and didn't exist
2021-04-01 19:13:43 -07:00
Ryan Houdek
68171ad9b5
Creates RootFS data folder as a user convenience
...
To make sure users don't mess this up, create the folder if it isn't found
2021-04-01 19:12:56 -07:00
Ryan Houdek
5f49b57948
Merge pull request #928 from Sonicadvance1/pthreads_threading
...
Switches FEXCore over to pthreads implementation
2021-04-01 01:15:43 -07:00
Ryan Houdek
38778953a1
Merge pull request #924 from Sonicadvance1/select_named_rootfs
...
Adds support for Named RootFS folders in FEXConfig
2021-04-01 00:32:15 -07:00
Ryan Houdek
21a364c2ad
Switches FEXCore over to pthreads implementation
...
This defaults to a pthread implementation but it can be switched over to a custom thread
handler if the frontend desires.
2021-04-01 00:31:45 -07:00
Ryan Houdek
3294cc209f
Adds support for Named RootFS folders in FEXConfig
...
Provides a drop down dialog of RootFS folders to select.
Will be empty if the user doesn't have any folders in place.
Just allowing directory paths to be inserted
Fixes #689
2021-04-01 00:15:29 -07:00
Stefanos Kornilios Mitsis Poiitidis
ae5d41e46b
Merge pull request #926 from Sonicadvance1/disable_seccomp
...
Disables seccomp
2021-04-01 10:03:36 +03:00
Ryan Houdek
1ab6726498
Moves Config directory finding to FEXCore
...
This will be necessary in the next commit
2021-03-31 23:46:07 -07:00
Ryan Houdek
fac6377ed3
Fixes a crash in openat
2021-03-31 23:37:57 -07:00
Ryan Houdek
4f3cb933cb
Fixes execve
2021-03-31 23:37:56 -07:00
Ryan Houdek
83eb7f4ad3
Return EPERM in ptrace. A Feral launcher is attempting to use this to ensure it can't ptrace.
2021-03-31 23:37:56 -07:00
Ryan Houdek
c3854c211a
Fix finding home directory when we have no environment variables.
2021-03-31 23:37:56 -07:00
Ryan Houdek
4004d5a3b7
Disables seccomp
...
FEX doesn't support seccomp in userspace and allowing these through causes chromium secure sandbox to break.
Disabling these with EINVAL allows FEX to behave as if seccomp isn't enabled in the kernel config
Necessary to get the Civ6 launcher further
2021-03-31 23:23:40 -07:00
Stefanos Kornilios Mitsis Poiitidis
942b8549c6
Docs: Add tags to the source code
2021-03-30 12:21:18 +03:00
Ryan Houdek
15dd70487f
Removes legacy difference between FEX config env variable and enum names
2021-03-29 00:26:11 -07:00