Ryan Houdek
7a80f2bcbb
Implements missing CVTPD2DQ
...
Without impementing MXCSR still, this matches the already implemented
CVTTPD2DQ
2020-09-10 16:50:05 -07:00
Stefanos Kornilios Mitsis Poiitidis
9423bab83c
Merge pull request #352 from FEX-Emu/skmp/disable-bfe-identity
...
IR/ConstProp: Disable BFE identity as it breaks cs:go
2020-09-07 01:57:56 +03:00
Stefanos Kornilios Mitsis Poiitidis
0adb874755
IR/ConstProp: Disable BFE identity as it breaks cs:go
2020-09-07 00:58:29 +03:00
Ryan Houdek
4b17521ab9
Merge pull request #343 from Sonicadvance1/cpuid_improvements
...
Has /proc/cpuinfo generated from CPUID
2020-09-06 12:40:03 -07:00
Ryan Houdek
6e28fd68c3
Merge pull request #344 from Sonicadvance1/rcpc
...
Adds support for RCPC load instructions
2020-09-06 12:31:28 -07:00
Stefanos Kornilios Mitsis Poiitidis
54bf7a095a
Merge pull request #349 from Sonicadvance1/fix_altstack_disable
...
Fixes guest disabling sigaltstack.
2020-09-06 17:40:26 +03:00
Stefanos Kornilios Mitsis Poiitidis
f719f0e646
Merge pull request #347 from Sonicadvance1/tso_option
...
Adds option to disable TSO
2020-09-06 17:39:21 +03:00
Stefanos Kornilios Mitsis Poiitidis
89abb9ea8e
Merge pull request #346 from Sonicadvance1/clean_build_folder
...
Has the github action clean its build folder
2020-09-06 17:39:12 +03:00
Ryan Houdek
50227ba379
Fixes guest disabling sigaltstack.
...
Previously we never checked for SS_DISABLE.
We were also only ever checking for ss_sp being a valid memory range
when we should have been checking for the absense of SS_DISABLE.
Fixes #326
2020-09-05 21:59:52 -07:00
Ryan Houdek
61072ba37e
Has /proc/cpuinfo generated from CPUID
...
Instead of having this file mostly just copy and pasted, it'll now be
generated.
We end up losing a lot of supported flags with this change, which is for
the best since we wouldn't have actually supported those things.
2020-09-05 16:59:10 -07:00
Ryan Houdek
c12847cbcb
Cleans up CPUID
...
Instead of saying we support the world, actually go through each
individual flag and say that we support the correct things.
Puts FEX plus the git hash in to the model name for now.
Once we have a tagged release in the future we can change this to have
its version tag inside of it.
2020-09-05 16:59:10 -07:00
Ryan Houdek
e177bb3ebc
Adds a git_version generated header
...
Allows us to get the short git hash at runtime
2020-09-05 16:59:10 -07:00
Ryan Houdek
2175e9d9c8
Adds support for RCPC load instructions
...
If the host CPU supports RCPC instructions then it'll use those
instruction of atomics for LoadMemTSO ops.
This pushed my worst case FTL test from 16FPS to 17FPS .
There is another extension to RCPC to add short immediate offset support
which the c630 doesn't support any way. For future optimization on
hardware we can use that.
2020-09-05 16:58:50 -07:00
Ryan Houdek
5fe7466d92
Adds check for RCPC support
2020-09-05 16:58:50 -07:00
Ryan Houdek
b21767c9e3
Has the github action clean its build folder
...
We have hit issues where the non-clean folder would end up leaving
artifacts which allowed tests to pass.
Remove the build folder on each run to clean up
2020-09-05 16:58:28 -07:00
Ryan Houdek
ee8dfc96fa
Adds support for the AArch64 JIT to disable TSO
...
AArch64 is the only backend that currently needs to do something
different for TSO
2020-09-05 16:58:03 -07:00
Ryan Houdek
0819a40c57
Adds option to disable TSO
...
This is a knowingly wrong option for anything running in a threaded
environment
2020-09-05 16:58:03 -07:00
Stefanos Kornilios Mitsis Poiitidis
6734dcf954
Merge pull request #345 from Sonicadvance1/fix_posix_tests
...
Emergency fix. POSIX tests failing because of ELFLoader rename
2020-09-06 02:54:19 +03:00
Ryan Houdek
5f696336d7
Emergency fix. POSIX tests failing because of ELFLoader rename
2020-09-05 15:48:35 -07:00
Ryan Houdek
6d26801d68
Merge pull request #342 from Sonicadvance1/binfmt_misc
...
Binfmt_misc support
2020-09-05 14:59:29 -07:00
Ryan Houdek
1785b310f9
Adds a binfmt_misc install target
...
This will install a binfmt_misc target for x86_64 targets that allows
FEXLoader to be the interpreter.
Everything else is already set up to allow this to work, just time to
hook it up.
2020-09-03 23:20:57 -07:00
Ryan Houdek
7c9f06f2d8
Allows installing FEXLoader
...
This wasn't installed at all previously
2020-09-03 18:39:41 -07:00
Ryan Houdek
0111175036
Renames ELFLoader to FEXLoader
...
This makes more sense for us when we are installed to /usr/bin/
2020-09-03 18:38:46 -07:00
Ryan Houdek
eface7d911
Merge pull request #341 from FEX-Emu/skmp/fix-jitsymbols-arm64
...
fix jit symbols arm64
2020-09-03 14:51:14 -07:00
Stefanos Kornilios Mitsis Poiitidis
0e0fddafec
arm64: Return DebugData if passed
2020-09-03 07:06:18 +03:00
Stefanos Kornilios Mitsis Poiitidis
3083f9e12e
Merge pull request #332 from FEX-Emu/skmp/iterative-rclse
...
IR: Iterative RCLSE
2020-09-03 05:18:11 +03:00
Stefanos Kornilios Mitsis Poiitidis
e7cbe2ca91
Merge pull request #338 from FEX-Emu/skmp/identity-opts
...
IR: Add identity opts for AND/OR/XOR
2020-09-03 05:17:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
dd5c3a5e44
Merge pull request #333 from Sonicadvance1/more_signals
...
Moves our entire execution model over to signal execution
2020-09-03 02:12:21 +03:00
Ryan Houdek
cf5afbcd8d
Some minor optimizations in the AArch64 ASM dispatcher
...
Ensures the top of the loop is 16byte aligned to give Cortex's
prefetcher the best chance of loading the code.
If the address size is a power of two (We always do 64GB or 32GB VM atm)
then do the address size masking in one instruction instead of loading a
64bit constant first
Move some accessed constants to a literal pool at the end of the ASM
dispatcher.
2020-09-02 16:00:17 -07:00
Ryan Houdek
a75a7b3dcd
Fixes a crash in the AArch64 JIT from the previous signal work
...
Was accidently setting the buffer size then unmapping at that new size.
Make sure to unmap then resize.
Also cleans up which buffer is actually being touched here, only the
initial buffer ever changes here.
2020-09-02 16:00:17 -07:00
Ryan Houdek
50349db4c6
Moves our entire execution model over to signal execution
...
This requires implementing custom ASM dispatchers for the interpreter
side of things so it works correctly.
Allows all of our CPU backends to safely support signaling.
This is a bit of a nightmare change and requires rethinking logic about
debugging in some instances.
2020-09-02 16:00:17 -07:00
Ryan Houdek
dbdc7e6b54
Merge pull request #340 from FEX-Emu/skmp/avoid-tzcnt
...
JIT/x86: Don't use tzcnt
2020-09-02 13:07:12 -07:00
Stefanos Kornilios Mitsis Poiitidis
273db52545
JIT/x86: Don't use tzcnt
2020-09-02 22:57:34 +03:00
Stefanos Kornilios Mitsis Poiitidis
b9ed084cc5
IR: Add identity opts for AND/OR/XOR
2020-09-02 21:50:54 +03:00
Stefanos Kornilios Mitsis Poiitidis
aa3dc52799
RCLSE: Iterate until there are no changes
2020-09-02 21:34:39 +03:00
Ryan Houdek
04a558bae9
Merge pull request #336 from FEX-Emu/skmp/add-movn
...
arm64: Add movn to LoadConstant
2020-09-02 09:56:07 -07:00
Stefanos Kornilios Mitsis Poiitidis
15da415ac6
arm64: Add movn to LoadConstant
2020-09-02 19:48:49 +03:00
Ryan Houdek
c52f5be1de
Merge pull request #334 from Sonicadvance1/enable_assertions_option
...
Enables assertions on the buildbot
2020-08-31 11:23:25 -07:00
Ryan Houdek
b05931caf3
Merge pull request #335 from phire/bitset
...
Fix minor bug in BitSet/BitSetView
2020-08-30 23:09:36 -07:00
Scott Mansell
dfa1ab678f
Fix minor bug in BitSet/BitSetView
2020-08-31 18:04:09 +12:00
Ryan Houdek
9d433902f0
Enables assertions on the buildbot
...
Will slow down the CI process a bit, but it is better to catch the
assertions
2020-08-29 23:35:26 -07:00
Ryan Houdek
74a310eeb2
Enables assertions option from cmake
2020-08-29 23:35:26 -07:00
Ryan Houdek
99f16dbe58
Merge pull request #331 from FEX-Emu/skmp/fix-sched_getaffinity-really
...
Syscalls: Actually fix sched_getaffinity
2020-08-28 17:43:03 -07:00
Stefanos Kornilios Mitsis Poiitidis
45288506e1
Syscalls: Actually fix sched_getaffinity
2020-08-29 03:11:06 +03:00
Ryan Houdek
898c1776f5
Merge pull request #330 from FEX-Emu/skmp/fix-sched_getaffinity
...
Syscalls: Fix sched_getaffinity
2020-08-28 14:29:29 -07:00
Stefanos Kornilios Mitsis Poiitidis
f16f7dcdd7
Syscalls: Fix sched_getaffinity
2020-08-29 00:18:20 +03:00
Ryan Houdek
71f7b01e93
Merge pull request #327 from FEX-Emu/skmp/fix-btr
...
Interpreter: Fix Mask calculation for OP_NOT
2020-08-28 13:19:36 -07:00
Stefanos Kornilios Mitsis Poiitidis
a4c677bcbf
Interpreter: Fix Mask calculation for OP_NOT
2020-08-28 18:24:04 +03:00
Ryan Houdek
ab2020fe62
Merge pull request #309 from phire/ir_cleanup
...
Misc Optimisation and IR cleanup
2020-08-27 23:07:35 -07:00
Ryan Houdek
0ba42946fa
Merge pull request #308 from Sonicadvance1/gdbstub_improvements
...
Extends gdbstub functionality
2020-08-27 13:41:44 -07:00