Ryan Houdek
e46dbf7b7e
TestHarnessRunner: Convert to fextl
2023-03-30 16:28:34 -07:00
Ryan Houdek
067f807405
InternalThreadState: Convert tsl to fextl
2023-03-30 16:28:34 -07:00
Ryan Houdek
463b4b748c
fextl: Add fextl::fmt::print
2023-03-30 16:28:34 -07:00
Ryan Houdek
3eae668cec
X86Jit: Fix xbyak allocating through glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
fc8bf9f0f6
Config: Remove static which is allocated
2023-03-30 16:28:34 -07:00
Ryan Houdek
3cfc1de410
Common: Convert cpp-optparse over to fextl and use.
2023-03-30 16:28:34 -07:00
Ryan Houdek
a14353bc3c
FEXLoader: Convert remaining usages away from glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
629e547e5f
AllocatorOverride: Remove AFmt, it can try allocating memory and infinite loop.
2023-03-30 16:28:34 -07:00
Ryan Houdek
12b710ed16
APITests: Test FHU::LexicallyNormal
2023-03-30 16:28:34 -07:00
Ryan Houdek
ea275bbdcc
FDUtils: Remove std::fs get_fdpath, no longer used and avoids glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
e6a48ad7f3
Syscalls: Convert to get_fdpath with temp to avoid glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
114b626cff
FileManager: Convert to FHU to avoid glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
4d35d550c1
EmulatedFiles: Convert to FHU to avoid glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
e8c1dfa03a
FEXLoader: Convert to FHU to avoid glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
9d04c4daee
ELFCodeLoader: Convert to get_fdpath with temp to avoid glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
1ec31c610c
FEXServerClient: Convert to FHU to remove glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
86f8ebf0ee
FEX/Config: Convert to FHU to remove glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
bbd0d26c16
Telemetry: Convert to FHU to remove glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
1eac7e7105
AOTIR: Convert to FHU to remove glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
1f9458a3c3
Config: Convert to FHU to remove glibc
2023-03-30 16:28:34 -07:00
Ryan Houdek
a3be4b77fa
Paths: Convert to FHU to remove glibc
2023-03-30 16:28:33 -07:00
Ryan Houdek
4cc14cf0e9
FHU: Add more utilities
2023-03-30 16:28:33 -07:00
Ryan Houdek
b2ec28503d
LookupCache: Move over to fextl::pmr
2023-03-30 16:28:33 -07:00
Ryan Houdek
170c9ee9e4
LookupCache: Switch to fextl
2023-03-30 16:28:33 -07:00
Ryan Houdek
c77c2faaea
FEXLoader: Add glibc hook faulting setup
2023-03-30 16:28:33 -07:00
Ryan Houdek
1eb36b8b31
Convert a ton of things over to fextl
2023-03-30 16:28:33 -07:00
Ryan Houdek
465ecd9b19
Mark code regions that require glibc memory allocations.
...
This ensures that when we enable glibc fault testing these sections
won't break CI.
2023-03-30 16:28:33 -07:00
Mai
df354e37dd
Merge pull request #2578 from Sonicadvance1/support_salc
...
OpcodeDispatcher: Implement support for 32-bit SALC instruction
2023-03-30 18:12:15 -04:00
Ryan Houdek
43e6d398b6
X86Dispatcher: Move xbyak to custom types
2023-03-30 08:49:26 -07:00
Ryan Houdek
0d7c856775
Update xbyak
2023-03-30 08:49:26 -07:00
Ryan Houdek
141dddc83e
CMake: Adds glibc allocator fault option
...
This will be used for CI to ensure FEX doesn't use the glibc allocator
2023-03-30 08:49:26 -07:00
Ryan Houdek
64aa3bfabe
Switch FEX to fextl::fmt
2023-03-30 08:49:26 -07:00
Ryan Houdek
f02a111d33
fextl: add memory for unique_ptr and make_unique
2023-03-30 08:49:26 -07:00
Ryan Houdek
79f7baffe3
fextl: Add pmr default resource
2023-03-30 08:49:26 -07:00
Ryan Houdek
7150c532f3
fextl: add robin_map
2023-03-30 08:49:26 -07:00
Ryan Houdek
e48fb1850e
fextl: add unordered_multimap
2023-03-30 08:49:26 -07:00
Mai
88dba60bee
Merge pull request #2579 from Sonicadvance1/invalid_instruction_log
...
Core: Add a new log message for unsupported instruction
2023-03-29 22:52:08 -04:00
Ryan Houdek
c9fb9c4cae
Merge pull request #2577 from lioncash/wide
...
ARMEmitter: Handle SVE2 integer add/subtract wide category
2023-03-29 15:17:17 -07:00
Ryan Houdek
d615ae9c6a
Core: Add a new log message for unsupported instruction
...
The previous log in the frontend is super useful when an instruction
decoding wasn't supported.
Now that most of AVX is covered, a game will crash on SIGILL (and
usually catch it) and close without any indication.
Now if the instruction is decoded but it is invalid for the
configuration, still output a message as a good indicator that the game
is using instructions that the host doesn't support.
Will let us still pick up on games crashing due to lack of SVE very
easily.
2023-03-29 14:38:16 -07:00
Ryan Houdek
7629edcf61
OpcodeDispatcher: Implement support for 32-bit SALC instruction
...
This is an undocumented but supported instruction. It behaves just like
an `sbb al, al` but doesn't set flags and is one byte shorter.
The end result is that al is set to 0xFF or 0 depending on if CF is set
or not.
2023-03-29 14:34:51 -07:00
Lioncache
73d250c555
ARMEmitter: Handle SVE2 integer add/subtract wide category
2023-03-29 17:02:18 -04:00
Lioncache
337f8b06a3
ARMEmitter: Convert SVE2 integer multiply long to wide helper
...
Unifies the emitted ops under the same underlying emitter function.
2023-03-29 16:52:37 -04:00
Lioncache
87fa545bd0
ARMEmitter: Convert SVE2 integer add/subtract long to wide helper
...
The generic helper will be used to implement the remaining unimplemented
category from this group
2023-03-29 16:52:34 -04:00
Ryan Houdek
7747ac8de8
Merge pull request #2576 from lioncash/mul
...
ARMEmitter: Handle SVE Integer Multiply-Add - Unpredicated group
2023-03-29 13:14:29 -07:00
Lioncache
deb1c9e933
ARMEmitter: Handle SVE mixed sign dot product category
2023-03-29 15:43:07 -04:00
Lioncache
672a88395d
ARMEmitter: Handle SVE2 saturating multiply-add high category
2023-03-29 15:38:38 -04:00
Lioncache
88524ce718
ARMEmitter: Handle SVE2 saturating multiply-add long category
2023-03-29 15:33:49 -04:00
Lioncache
bb153054f9
ARMEmitter: Handle SVE2 integer multiply-add long category
2023-03-29 15:28:32 -04:00
Lioncache
22a7a49042
ARMEmitter: Handle SVE2 complex integer multiply-add
2023-03-29 15:19:09 -04:00
Lioncache
9876f3eb5c
ARMEmitter: Handle SVE2 saturating multiply-add interleaved long category
2023-03-29 15:08:30 -04:00