Ryan Houdek
4f276aae82
Adds comment for LEA and segment registers
...
LEA doesn't give you the result with segment register applied to it.
Adds a comment to OpDispatcher to make it more clear
2021-04-05 21:28:25 -07:00
Ryan Houdek
c80254f6f4
Adds some more CPUID functions
...
Noticed a game poking at these
2021-04-05 18:37:05 -07:00
Ryan Houdek
8adb1ca3a2
Fixes ordering problem of tag generation in release script
...
Wasn't actually creating an annotated tag with this order
2021-04-05 18:35:09 -07:00
Ryan Houdek
0dd1959d65
Fixes Zext semantics on atomic ops with x64 JIT
...
Fixes Factorio 1.1.30 on x86-64 hosts
Fixes #957
2021-04-05 18:19:15 -07:00
Ryan Houdek
f4ab7cceab
Updates a couple POSIX test case failures
...
The behaviour of these is broken but now they are documented in how they are broken
2021-04-05 04:27:52 -07:00
Ryan Houdek
8cc799ab65
Allows overriding FEX folder locations with environment variables
...
Introduces three new environment variables that need to live outside of the scope
of the regular argument loader path.
This will allow external applications to adjust FEX parameters in interesting ways.
FEX_APP_CONFIG: Allows you to override where Config.json lives
FEX_APP_CONFIG_LOCATION: Allows you to provide an entire folder of app profiles
FEX_APP_DATA_LOCATION: Allows you to override where the data gets stored and loaded from
Fixes #572
2021-04-05 04:09:41 -07:00
Ryan Houdek
acb329b8e7
Adds use-after-scope to the ASAN options
...
Useful for seeing stack scoping problems that can crop up
2021-04-04 22:07:40 -07:00
Ryan Houdek
3020e39428
Remove DestSize from Print IR Op
2021-04-04 22:07:03 -07:00
Ryan Houdek
4a094c5dee
Reenables new gcc unit tests that are no longer failing
...
Documents the few remaining tests with details as to why the test fails.
2021-04-04 22:05:55 -07:00
Ryan Houdek
f8eabb4f33
Implements 64bit scalar VUMin on x86 JIT
2021-04-04 22:05:55 -07:00
Ryan Houdek
4da492d361
Fixes vector integer min and max on AArch64
...
These instructions don't have a 64bit element variant.
Switch the 64bit element variant over to a coded variant similar to float min/max
2021-04-04 22:05:55 -07:00
Ryan Houdek
a200d2c91c
Fixes packed shift ops
...
In the case of a shift value larger than the element size then the shift will zero the element.
Incoming shift amount is always a 64bit value which means that the value can become quite large on shifts.
Checks the incoming source and sets the maximum to be the element size, which works for AArch64's vector shifts
Which only operate on 8bit incoming shift amounts
2021-04-04 22:05:55 -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
af205e9f5f
Fixes PEXTRW
...
In the case of 16bit PEXTRW it will zext to 32bits which wasn't being done
2021-04-04 21:32:12 -07:00
Ryan Houdek
032d1fbba2
Fixes VFMIN/VFMax NaN behaviour
...
In a world with NaNs we were hitting some undefined behaviour with fmin/fmax
Needed to change these over to something more complex to handle the NaN case.
ARMv8.7 alternative FP mode would solve this for the scalar case, but it still doesn't work for the vecto case sadly.
2021-04-04 21:29:46 -07:00
Ryan Houdek
313c4bb784
Fixes bug in VectorImm
...
If passing in a 64bit immediate then movi doesn't behaviour how you would expect.
Instead to a tmp move + dup to implement it the way we want
2021-04-04 20:24:23 -07:00
Ryan Houdek
ceb484fd3a
Adds support for Arm64 JIT to Print
...
Useful for debugging, supports both vector and GPR
2021-04-04 20:22:44 -07:00
Ryan Houdek
b98c7bd853
Moves AArch64's GetPhys to be a class function
...
No need for it to be static
2021-04-04 20:21:06 -07:00
Ryan Houdek
4c045148b6
Fixes memory leak in CPU backends
...
Dispatcher wasn't ever getting cleaned up.
Also ensures sharing it with the CompileService otherwise it crashes on use.
2021-04-04 20:19:35 -07:00
Ryan Houdek
9f29bba4aa
Fixes missing virtual destructor on Dispatcher class
2021-04-04 20:10:58 -07:00
Ryan Houdek
2c592bd8a8
Implements a minimal siginfo_t in the dispatcher's signal handler
...
This lets Carrion get farther in game.
Seems like one of its threads hits sigsegv and it just...lets it die after checking siginfo?
2021-04-03 17:03:19 -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
Stefanos Kornilios Mitsis Poiitidis
5fac51f659
Merge pull request #942 from Sonicadvance1/implement_cmdline
...
Fixes wrapping cmdline arguments
2021-04-03 11:08:50 +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
Stefanos Kornilios Mitsis Poiitidis
be03767c0b
Merge pull request #941 from Sonicadvance1/pselect6_fix
...
Fixes pselect6 signal arg pack argument
2021-04-02 23:42:02 +03:00
Stefanos Kornilios Mitsis Poiitidis
adeea56ea8
Merge pull request #940 from Sonicadvance1/update_release_script
...
Updates release script to match what I want it to be
2021-04-02 23:41:17 +03: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
26d9ddef9f
Updates release script to match what I want it to be
...
Generates the current and previous tag automatically.
Checks to ensure the previous tag exists and that the current tag does not
2021-04-02 11:49:19 -07:00
Ryan Houdek
c6c2555e1b
Merge pull request #938 from Sonicadvance1/FEXConfig_improvements
...
FEXConfig improvements
2021-04-01 23:55:16 -07:00
Stefanos Kornilios Mitsis Poiitidis
283a5c1293
Merge pull request #937 from Sonicadvance1/fix_inverted_bool
...
Fixes inverted boolean FEXLoader arguments
2021-04-02 09:38:21 +03:00
Stefanos Kornilios Mitsis Poiitidis
b31976d0e2
Merge pull request #936 from Sonicadvance1/fix_cp_config_error
...
Fixes Thunk Guest libs short arg. C&P error made it not be j
2021-04-02 09:36:53 +03: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
78a923b5b0
Fixes inverted boolean FEXLoader arguments
...
The default_value doesn't have anything to do with the boolean argument being set.
Setting a boolean argument will always set true, inverted always sets false.
We don't currently have a need to support the inverted case where passing in an argument sets it to false
2021-04-01 19:10:29 -07:00
Ryan Houdek
0c6741438b
Update config generator python to check for duplicate options
...
Checks for duplicate short and long option arguments
2021-04-01 19:08:19 -07:00
Ryan Houdek
5d0c080a9d
Fixes Thunk Guest libs short arg. C&P error made it not be j
2021-04-01 19:08:00 -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