Ryan Houdek
826464d894
Ensures that Config.json stores to ${CONFIG}/Config.json
...
Just ensures that it gets stored in the correct XDG or ~/ config
directories.
If these don't exist then it'll get dumped in to PWD or cwdir, whichever
is available as fallback
2020-06-12 15:08:16 -07:00
Ryan Houdek
7bfe127fcb
Ensures the core saves the entry cache to the correct folder
...
We should store this in XDG_CACHE_HOME, not DATA_HOME.
Also fallback the HOME and PWD directories correctly
2020-06-12 15:08:16 -07:00
Ryan Houdek
cf546268ea
Ensures that Unified Memory is enabled by default
2020-06-12 15:08:16 -07:00
Ryan Houdek
53c46312ff
Implements atomic ops for ARMv8.0 devices
...
These can only be implemented as acquire/release exclusive loops on
ARMv8.0 so they end up looking pretty disgusting.
This is more for compatibility for testing than anything. I'm not
expecting ANY ARMv8.0 device to get decent performance
2020-06-12 15:06:36 -07:00
Stefanos Kornilios Mitsis Poiitidis
6fbf0d8fc7
Merge pull request #232 from Sonicadvance1/32bit_prefix
...
More 32bit work
2020-06-12 23:41:02 +03:00
Ryan Houdek
c7f2aa1ddd
Adds a couple basic 32bit x86 unit tests
...
Super basic, just to show them working
2020-06-10 19:44:27 -07:00
Ryan Houdek
263ceb7086
Cleans up ASM unit test file generation
...
This allows the generated files to maintain the same folder structure as
how they exist in the source folder.
Resolves the issue that a file in a different folder could potentially
conflict with another in a different folder but have the same name.
This is an easier mental model when pulling unit tests in to a
disassembler for verifying codegen.
2020-06-10 19:44:27 -07:00
Ryan Houdek
b262b59916
Fixes up prefix handling for 32bit
...
Moves REX to a 64bit only table entry. This allows the missing INC/DEC
instructions to exist in 32bit space
2020-06-10 16:49:06 -07:00
Stefanos Kornilios Mitsis Poiitidis
8ca73a63cc
Merge pull request #174 from Sonicadvance1/enter_inst
...
Enter inst
2020-06-11 00:41:18 +03:00
Stefanos Kornilios Mitsis Poiitidis
4953a620d5
Merge pull request #230 from Sonicadvance1/virtual_cores
...
Adds new FEX config for telling the guest how many CPU cores it can have
2020-06-08 19:34:06 +03:00
Stefanos Kornilios Mitsis Poiitidis
908b2c108b
Merge pull request #229 from Sonicadvance1/fix_dce
...
Fixes a typo in the HasSideEffects json generator
2020-06-08 19:32:54 +03:00
Stefanos Kornilios Mitsis Poiitidis
f9b4ec4bb0
Merge pull request #228 from Sonicadvance1/fix_bt_ops
...
Fixes a case of the BT ops failing to test the correct bit
2020-06-08 19:31:29 +03:00
Stefanos Kornilios Mitsis Poiitidis
6d0be61826
Merge pull request #231 from Sonicadvance1/create_ir_folder
...
Ensures IR build folder is created
2020-06-08 14:57:07 +03:00
Ryan Houdek
1c56b489b9
Implements unit test for enter instruction
2020-06-06 11:52:51 -07:00
Ryan Houdek
97070ea548
Implements ENTER instruction
2020-06-06 11:52:51 -07:00
Ryan Houdek
0ae5563d58
Ensures IR build folder is created
...
This was a cmake job race, depending on what was trying to run in the IR
folder first, the IR folder in the binary directory may not have been
generated before our scripts tried to be run
2020-06-06 04:54:25 -07:00
Ryan Houdek
7302ad1996
Adds new FEX config for telling the guest how many CPU cores it can have
...
This is just a virtual number that the guest can query through the
various means. Will affect mesa with how many helper threads it
generates at the very least
2020-06-04 00:03:41 -07:00
Ryan Houdek
8cf1c52b28
Fixes a typo in the HasSideEffects json generator
...
This was forcing every op to determine it had side effects, so DCE could
never actually remove any operations.
This fixes the typo which means each op declares side effects correctly
and DCE works again
2020-06-03 23:55:33 -07:00
Ryan Houdek
a426c0641e
Adds new unit tests to ensure bit offset issue doesn't happen
2020-06-03 23:52:54 -07:00
Ryan Houdek
b25f1c4e3b
Fixes a case of the BT ops failing to test the correct bit
...
When the `BT mem` operation was accessing memory where the bit offset
wasn't a multiple of the access size, then we were dividing the offset
by bytes and accessing bits at `mem[byteOffset] &= (BitOffset)`.
BitOffset wasn't adjusted to compensate for the access size being added
to the address.
Causing a mismatch of testing the wrong bits. Unit tests didn't capture
this.
Trying to run glxgears on i965/iris showed extensive corruption because
of it though.
2020-06-03 23:48:28 -07:00
Ryan Houdek
b287d9f903
Merge pull request #225 from FEX-Emu/skmp/add-fchdir
...
syscalls/x64: Add fchdir
2020-06-03 19:43:56 -07:00
Stefanos Kornilios Mitsis Poiitidis
2c8fccdcf2
syscalls/x64: Add fchdir
2020-06-03 16:01:06 +03:00
Ryan Houdek
7717425201
Merge pull request #224 from FEX-Emu/skmp/add-accept4
...
x64/syscalls: Add accept, accept4
2020-05-31 14:40:29 -07:00
Ryan Houdek
efa26b3bf4
Merge pull request #223 from FEX-Emu/skmp/unhandled-syscall-show-number
...
x64/syscalls: Change HandleSyscall/Unimplemented Syscall to include syscall number
2020-05-31 14:39:47 -07:00
Ryan Houdek
68e16dc839
Merge pull request #222 from FEX-Emu/skmp/add-pselect6
...
syscalls/x64: Add pselect6
2020-05-31 14:39:14 -07:00
Stefanos Kornilios Mitsis Poiitidis
63ea0358bd
syscalls/x64: Add pselect6
2020-05-31 15:31:16 +03:00
Stefanos Kornilios Mitsis Poiitidis
1f243f14be
x64/syscalls: Add accept, accept4
2020-05-31 15:28:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
c200952cc6
x64/syscalls: Change HandleSyscall/Unimplemented Syscall to include syscall number
2020-05-31 14:14:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
a47f9d48f5
Merge pull request #221 from Sonicadvance1/fix_config_zero_size
...
Fixes a crash that can occur when the config exists but has nothing
2020-05-31 12:02:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
f1173a3bca
Merge pull request #218 from Sonicadvance1/implements_lods
...
Implements LODS instruction
2020-05-31 12:02:11 +03:00
Stefanos Kornilios Mitsis Poiitidis
a659024547
Merge pull request #220 from Sonicadvance1/psadbw
...
Implements psadbw for MMX and SSE2
2020-05-31 12:00:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
3b9204341c
Merge pull request #219 from Sonicadvance1/scas_unittests
...
Implements SCAS unit tests
2020-05-31 11:42:05 +03:00
Stefanos Kornilios Mitsis Poiitidis
5f7b3883f4
Merge pull request #217 from Sonicadvance1/llvm_native_target
...
Forces LLVM backend to use the native CPU architecture
2020-05-31 11:28:57 +03:00
Ryan Houdek
ceab504211
Implements unit tests for psadbw
2020-05-31 03:22:11 +01:00
Ryan Houdek
a147e5eca1
Implements psadbw for MMX and SSE2
...
Saw this when running Freedreno on x86-64
2020-05-31 03:22:11 +01:00
Ryan Houdek
3dae3f4b84
Fixes bug that cropped up in cvtpi2ps from previous changes
2020-05-31 03:22:11 +01:00
Ryan Houdek
2ba797a992
Implements new IR ops in the CPU backends
2020-05-31 03:22:11 +01:00
Ryan Houdek
03b885816e
Fixes a crash that can occur when the config exists but has nothing
...
Common when I'm testing and wiping the config away
2020-05-30 18:56:39 -07:00
Ryan Houdek
1541b29662
Updates vixl to latest master
2020-05-30 18:50:32 -07:00
Ryan Houdek
2f1d7f70a2
Adds new IR ops that PSADBW will need
2020-05-30 18:49:09 -07:00
Ryan Houdek
4db38f389a
Implements SCAS unit tests
2020-05-29 23:38:27 -07:00
Ryan Houdek
6cf5c00fe9
Implements LODS unit tests
2020-05-29 23:37:27 -07:00
Ryan Houdek
111b0624ca
Implements LODS instruction
...
Theoretically the REP case can be optimized if it is known not to fault,
but that is one legitimate use case of this instruction.
This is just to ensure that we have this instruction covered, it hasn't
been encountered in a real program yet.
2020-05-29 23:35:36 -07:00
Ryan Houdek
c0711404e9
Forces LLVM backend to use the native CPU architecture
...
Better than relying on a hardcoded CPU target
Should fix a crash on x86 host cpus that don't support BMI1
2020-05-29 17:51:37 -07:00
Ryan Houdek
c8b2aefb9a
Merge pull request #216 from FEX-Emu/skmp/posix-tests-investigation
...
Hook up SYSCALL_MSYNC, update passing tests
2020-05-29 13:51:41 -07:00
Stefanos Kornilios Mitsis Poiitidis
6cc3b6b0ea
Syscalls/x64: Hook up SYSCALL_MSYNC, remove fixed tests from known failures
2020-05-29 12:43:52 +03:00
Stefanos Kornilios Mitsis Poiitidis
0b3fab9f44
Renable conformance-interfaces-sched_rr_get_interval-1-1
2020-05-29 12:16:08 +03:00
Ryan Houdek
e476c92dc6
Merge pull request #214 from Sonicadvance1/x87_rebase
...
Interpreter based x87 support!
2020-05-28 15:15:39 -07:00
Ryan Houdek
98ed6fb875
Disables test D9_F2
...
This changes precision depending on if it is running on x86 or AArch64,
so we can't nail down an exact answer
2020-05-28 15:10:19 -07:00
Ryan Houdek
2474ca1437
Adds support for disabled tests in the IR and ASM runners
2020-05-28 15:09:51 -07:00