Ryan Houdek
358f12e074
Merge pull request #891 from Sonicadvance1/installed_global_app_configs
...
Implements support for installing global application profiles
2021-03-24 02:34:00 -07:00
Ryan Houdek
c5648ac84c
Implements support for installing global application profiles
...
These need to be used sparingly, we don't want to proactively crush user options.
2021-03-23 22:34:01 -07:00
Ryan Houdek
5c624684b7
Merge pull request #887 from Sonicadvance1/FEXBashLoader
...
Adds a FEXBash helper program
2021-03-23 21:37:45 -07:00
Ryan Houdek
ef11b534ef
Adds a FEXBash helper program
...
This is a helper program to execute a bash command through FEX.
Works around an edge case of
eg:
FEXInterpreter /bin/sh -c "echo A"
versus
FEXBash "echo A"
Argument expansion ends up being a pain point
This isn't currently used but will be very shortly
2021-03-23 21:27:30 -07:00
Ryan Houdek
cd32eeb428
Adds FEXInterpreter as a build target
...
Makes it easier to have FEXInterpreter around
2021-03-23 21:27:29 -07:00
Ryan Houdek
43984c810d
Merge pull request #886 from Sonicadvance1/namespace_perm
...
Returns EPERM on clone with namespace
2021-03-23 20:56:20 -07:00
Ryan Houdek
a50689aa8b
Merge pull request #885 from Sonicadvance1/cpuid_leaf
...
Adds support for CPUID leafs
2021-03-23 20:55:33 -07:00
Scott Mansell
311d6d4385
Merge pull request #883 from phire/thread_cleanup
...
Cleanup threads when they exit
2021-03-24 16:22:15 +13:00
Ryan Houdek
a19c59f5b2
Merge pull request #888 from Sonicadvance1/default_silentlogs
...
Default to silent logging
2021-03-23 20:13:07 -07:00
Scott Mansell
6a8f68022f
Join threads after fork.
...
Also, add some comments to document things and
rename function to be clear about it's purpose.
2021-03-24 15:41:09 +13:00
Ryan Houdek
fdcb6206da
Default to silent logging
...
Useful for debugging but we need to be silent by default now.
Without this anything that checks stdout output of applications from bash would fail
Steam with lspci, lsusb, uname, etc
2021-03-23 19:30:42 -07:00
Ryan Houdek
6ea977ba34
Remove proc_pid_uid_gid_map from known failures list
...
Now instead of crashing with namespacing, it skips the tests if it gets EPERM.
2021-03-23 19:28:12 -07:00
Ryan Houdek
9b35cb4408
Returns EPERM on clone with namespace
...
Notably this allows applications to work that don't require the namespace but check up front if they are able to clone with it.
Civ 6's launcher checks this as an example
2021-03-23 19:28:06 -07:00
Ryan Houdek
afa869e1f2
Adds Config.h generated file
...
Gives us the install path and FEXInterpreter locations
2021-03-23 19:12:18 -07:00
Ryan Houdek
43ddba4e82
Adds support for CPUID leafs
...
Leafs come from ECX but only some CPUID functions support this.
This adds the initial infrastructure but doesn't yet add support for the CPUID functions to consume the leaf.
2021-03-23 18:13:14 -07:00
Scott Mansell
21687f4dc5
Also destroy the parent thread
2021-03-24 03:14:23 +13:00
Scott Mansell
41a1a9d400
Cleanup threads when they exit
2021-03-24 03:14:23 +13:00
Stefanos Kornilios Mitsis Poiitidis
82c2b49a2e
Merge pull request #878 from Sonicadvance1/fexconfig_actual_default
...
Changes FEXConfig to actually load default configuration
2021-03-22 18:24:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
fbc49c1648
Merge pull request #876 from Sonicadvance1/QOL_config
...
Implements a couple quality of life configuration option handling
2021-03-22 18:23:52 +02:00
Stefanos Kornilios Mitsis Poiitidis
d2f636893d
Merge pull request #880 from Sonicadvance1/github_label_testing
...
Support disabling unit tests based on runner label
2021-03-22 18:18:08 +02:00
Ryan Houdek
e5a9bd4d3e
Fixes incorrect result on cmpxchg reg, reg failure when regsize = 32bit
2021-03-22 09:03:48 -07:00
Ryan Houdek
ca24ea1d36
Fixes missing HandledLock on XCHG
2021-03-22 09:03:48 -07:00
Ryan Houdek
998e53aa70
Only disabled unaligned atomics test on ARMv8.0
2021-03-22 09:03:48 -07:00
Ryan Houdek
de890e7387
Have unit tests check for runner label
2021-03-22 09:03:48 -07:00
Ryan Houdek
042a71be96
Get the runner's label for testing disabled tests later
2021-03-22 09:03:48 -07:00
Ryan Houdek
0a61741596
special case logging option stdout/stderr
2021-03-21 02:26:56 -07:00
Ryan Houdek
91a5a625ac
Implements a couple quality of life configuration option handling
...
This takes the changes from #829 and moves it to the correct location to be picked up from any loader.
This also fixes #873 .
Expands the config paths. Anything that has ~ or is relative will be converted to an absolute path.
2021-03-21 02:25:30 -07:00
Stefanos Kornilios Mitsis Poiitidis
f68593ea97
Merge pull request #877 from Sonicadvance1/fix_absolute_linker
...
Adds some additional logic for finding absolute soft linked linker
2021-03-21 11:08:46 +02:00
Stefanos Kornilios Mitsis Poiitidis
e15730782b
Merge pull request #879 from Sonicadvance1/update_readme
...
Updates readme with some more direct information
2021-03-21 11:07:35 +02:00
Ryan Houdek
fc27893f20
Updates readme with some more direct information
...
Some of this taken from Stef's recent changes. Some taken from the wiki.
combination of the two best bits
2021-03-21 01:53:51 -07:00
Ryan Houdek
5b8bf8dd24
Adds some additional logic for finding absolute soft linked linker
...
Ubuntu's x86_64 rootfs does a soft link from `/lib64/ld-linux-x86-64.so.2` to an absolute path of `/lib/x86_64-linux-gnu/ld-2.32.so`
Our frontend ELF loader logic would resolve this symlink to be just `/lib/x86_64-linux-gnu/ld-2.32.so` which would then fail.
Adds some additional logic to our frontend that if the symlink ends up being a softlink to an absolute address then it'll first resolve that symlink.
Then combines rootfs + absolute path. If that still fails then it'll fall down the regular linker path, which could still find the linker on the host side.
This is all a bit of a kludge to just work around Ubuntu doing an absolute address rather than a relative one.
Fixes #869
2021-03-21 01:11:47 -07:00
Ryan Houdek
0c48f1409e
Changes FEXConfig to actually load default configuration
...
This was previously just some default values that I put in as placeholder
Now that we actually have defaults configured somewhere, use those.
Fixed #874
2021-03-21 00:48:51 -07:00
Ryan Houdek
8c1f2eb0b3
Merge pull request #870 from FEX-Emu/skmp/lock-validation
...
OpDisp: Validate LOCK handling, add missing segment offsets
2021-03-20 15:53:06 -07:00
Ryan Houdek
07613456d2
Merge pull request #872 from FEX-Emu/skmp/x87-fixes
...
X87: Init on X87FNSAVE, fix FNINIT
2021-03-20 15:52:54 -07:00
Ryan Houdek
493bb3bef3
Merge pull request #875 from phire/test-no-multibock
...
Explictly as for --no-multiblock in tests
2021-03-20 15:52:44 -07:00
Scott Mansell
cf8572e090
Explictly as for --no-multiblock in tests
...
We switched the default over a while back, so we haven't
been getting test coverage with multiblock off
2021-03-21 04:57:47 +13:00
Stefanos Kornilios Mitsis Poiitidis
d120f12c93
X87: Init on X87FNSAVE, fix FNINIT
2021-03-19 17:04:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
695322d446
OpDisp: Validate LOCK handling, add missing segment offsets
2021-03-19 16:32:29 +02:00
Stefanos Kornilios Mitsis Poiitidis
d34cde12ae
Merge pull request #850 from Sonicadvance1/struct_verifier
...
libclang based Struct verifier written in python
2021-03-19 10:06:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
a7dc9d00d2
Merge pull request #864 from Sonicadvance1/cpuid_15h
...
Implements CPUID 15h
2021-03-19 10:02:02 +02:00
Ryan Houdek
dbde2e400e
Merge pull request #863 from Sonicadvance1/enable_invariant_tsc
...
Enables Invariant TSC CPUID bit
2021-03-18 12:39:08 -07:00
Ryan Houdek
bdeefa7bf0
Merge pull request #861 from Sonicadvance1/add_version_config
...
Implements a --version argument
2021-03-18 12:39:00 -07:00
Ryan Houdek
51e513df14
Merge pull request #865 from FEX-Emu/skmp/fix-emufiles-lock
...
EmulatedFiles: Lock around FDToNameMap accesses
2021-03-18 04:11:58 -07:00
Stefanos Kornilios Mitsis Poiitidis
0106b362d6
EmulatedFiles: Lock around FDToNameMap accesses
2021-03-18 12:45:27 +02:00
Ryan Houdek
c7f265158f
Implements CPUID 15h
...
ARMv8 allows you query the cycle counter register very from userspace which allows us to emulate this easily.
My IceLake device returns 1.5Ghz through this interface
My AMD Zen+ device doesn't support this but with measurements has 3Ghz TSC
My Snapdragon 865 device has a TSC frequency of 19.20Mhz
2021-03-18 01:42:44 -07:00
Ryan Houdek
fbf5325bdd
Enables Invariant TSC CPUID bit
...
I keep forgetting to enable this bit. Fixes #855
2021-03-18 00:15:48 -07:00
Ryan Houdek
9b2bd8df28
Implements a --version argument
...
Nicer for the user to determine what their version is
2021-03-17 00:00:57 -07:00
Ryan Houdek
2a074204bc
Merge pull request #859 from Sonicadvance1/improve_fexinterpreter_msg
...
Adds an installer message to the FEXInterpreter install
2021-03-16 23:13:12 -07:00
Ryan Houdek
d79fb37135
Merge pull request #858 from Sonicadvance1/remove_testharness
...
Removes TestHarness
2021-03-16 23:13:03 -07:00
Ryan Houdek
d01b40c5aa
Adds an installer message to the FEXInterpreter install
...
Otherwise it doesn't feel like FEXInterpreter is installing
2021-03-16 22:36:58 -07:00