Billy Laws
c3c2789cdf
Windows: Specify the single-inst argument when calling the dispatcher
2025-07-23 18:46:28 +01:00
Billy Laws
e9f14e32dd
Linux: Specify the single-inst argument when calling the dispatcher
2025-07-23 18:46:26 +01:00
Billy Laws
9b65d819f4
Dispatcher: Add an argument to request a single-step on SRA fill
...
This already exists for ARM64EC, but this path is required for linux
and WOW64
2025-07-23 18:29:12 +01:00
Billy Laws
287344986c
FEXCore: Switch ENTRY_FILL_SRA_SINGLE_INST_REG to TMP2
...
Will allow this to be taken as the second dispatcher argument
2025-07-23 18:29:12 +01:00
Ryan Houdek
fe61aabc52
Merge pull request #4701 from bylaws/noexecwin
...
Windows: Correctly report noexec faults
2025-07-22 12:54:28 -07:00
Ryan Houdek
564e966730
Merge pull request #4698 from lioncash/float2
...
ASIMDOps/SVEOps: Use IsStandardFloatSize() even more
2025-07-22 12:36:16 -07:00
LC
98abfa4395
Merge pull request #4700 from bylaws/geiex
...
WinAPI: Avoid sign-extension of processor count in GetSystemInfo
2025-07-22 15:02:17 -04:00
Billy Laws
8e6fbe7615
Windows: Correctly report noexec faults
2025-07-22 19:30:31 +01:00
Billy Laws
27fd5505be
OpcodeDispatcher: Set correct trap number for noexec faults
2025-07-22 19:30:23 +01:00
Billy Laws
e383cc89eb
unittests: Test for the noexec pagefault trap number
2025-07-22 19:29:17 +01:00
Alexandre Julliard
a71a0ed137
WinAPI: Avoid sign-extension of processor count in GetSystemInfo
2025-07-22 19:28:36 +01:00
Lioncache
ab6fc279ce
ASIMDOps/SVEOps: Use IsStandardFloatSize() even more
...
Forgot in #4697 to take into account that there are still parts of the
emitter that qualify with its own namespace.
This also removes those where applicable to be more in line with the rest
of the cases.
2025-07-22 08:25:35 -04:00
Ryan Houdek
dd5c17291a
Merge pull request #4697 from lioncash/float
...
SVEOps: Make use of IsStandardFloatSize() more
2025-07-21 12:37:03 -07:00
Ryan Houdek
5fe06b7413
Merge pull request #4696 from lioncash/opcode
...
OpcodeDispatcher: Mark functions as const/static where applicable
2025-07-21 12:36:22 -07:00
Lioncache
2a8efa9891
SVEOps: Make use of IsStandardFloatSize() more
...
Initially introduced in #4687 as a utility for ASIMD ops, this can be used
elsewhere as well to reduce the verbosity of some other assertions.
2025-07-21 13:51:37 -04:00
LC
cf43e5eaaf
Merge pull request #4694 from Sonicadvance1/fix_moffset_instcountci
...
InstcountCI: Fix bad encoded moffset instructions
2025-07-21 10:53:26 -04:00
Lioncache
cafc906b9e
OpcodeDispatcher: Mark functions as const/static where applicable
...
Not a functional change, but makes it more obvious how these rely on object state.
2025-07-21 10:48:55 -04:00
Tony Wasserka
3387f51e24
Merge pull request #4663 from Sonicadvance1/update_format_requires
...
External/code-format-helper: Update requirements
2025-07-21 10:17:52 +02:00
Ryan Houdek
ccf1bb26af
InstcountCI: Fix bad encoded moffset instructions
...
These were actually encoded incorrectly, and I noticed they changed in
PR #4670 for some reason. So I dove in to the nasm source to figure out
what it takes to encode these sanely rather than with raw bytes, turns
out it's fairly trivial, just annoying to track in their parser through
iwdq->mem_offset->MEM_OFFS->qword.
Should remove the change in #4670 once it rebases.
2025-07-18 12:32:56 -07:00
Ryan Houdek
fc1ca01a0b
Merge pull request #4693 from neobrain/fix_libfwd_wl
...
LibraryForwarding/wayland: Add method signatures required by steam-runtime-launch-options
2025-07-18 10:57:50 -07:00
Tony Wasserka
e508f0900c
LibraryForwarding/wayland: Add method signatures required by steam-runtime-launch-options
2025-07-18 11:38:46 +02:00
LC
5123ca52ba
Merge pull request #4692 from Sonicadvance1/reintroduce_cssc
...
FEXCore: Reintroduce support for CSSC
2025-07-17 21:21:46 -04:00
Ryan Houdek
7e1ee5bb07
FEXCore: Reintroduce support for CSSC
...
Now that the PF flag isn't using popcount, this is a win across the
board if the hardware supports it.
Been a while since I last looked at this, added a new instcountci file
to show the improvement.
2025-07-17 15:09:27 -07:00
LC
b7ac641aa0
Merge pull request #4691 from Sonicadvance1/ignore_jemalloc_config_sources
...
External: Update jemallocs
2025-07-17 11:29:20 -04:00
Ryan Houdek
251ac145d9
Merge pull request #4650 from pmatos/feature/ReformatChanged
...
Add --changed flag to reformat.sh script
2025-07-16 23:33:29 -07:00
Ryan Houdek
e17c2c8c73
Merge pull request #4661 from pmatos/feature/reformat-clang-format-19
...
Whole-tree reformat with clang-format-19
2025-07-16 23:33:09 -07:00
Paulo Matos
4473054d33
Add reformat sha to ignore revs for git-blame
2025-07-17 08:11:08 +02:00
Paulo Matos
5267cde60e
Whole-tree reformat with clang-format-19
2025-07-17 08:10:00 +02:00
Paulo Matos
3c7ece2ef3
Update .clang-format
2025-07-17 08:09:25 +02:00
Paulo Matos
3b322d8f37
Add --changed flag to reformat.sh script
2025-07-17 08:04:41 +02:00
LC
1d4b6c6a74
Merge pull request #4689 from Sonicadvance1/disable_gcs_protection
...
Disable GCS in simulator and userspace
2025-07-16 20:25:16 -04:00
Billy Laws
f5efe1d251
Merge pull request #4690 from Sonicadvance1/moar_padding
...
JIT: Add more padding
2025-07-17 00:58:37 +01:00
Ryan Houdek
09db3aba0a
External: Update jemallocs
...
Ignore any additional jemalloc configuration options, can come from
`/etc/malloc.conf` or even the `MALLOC_CONF` environment variable.
Ensure nothing can override our options.
2025-07-16 16:35:48 -07:00
Ryan Houdek
aec7deca9d
Merge pull request #4688 from lioncash/hfloat2
...
ASIMDOps: Merge half-float 3-reg same with single/double variants
2025-07-16 15:42:08 -07:00
Ryan Houdek
8f1d4bc710
FEXLoader: Check for GCS being enabled
...
There is a ELF note for this but currently clang doesn't support a
`no-gcs` flag. The best we can do is check if the kernel has GCS enabled
for the current process and early exit.
Then continue to use the kernel's locking functionality to disable it if
the guest happens to try, ensuring safety.
2025-07-16 15:41:23 -07:00
Ryan Houdek
7edc8417b6
JIT: Add more padding
...
Go to a whole page of additional padding, #4670 adds some more size to a
block and overran the padding causing a unittest to fail.
2025-07-16 15:28:05 -07:00
Ryan Houdek
5b01682641
Arm64Emitter: Disable GCS in the simulator
...
FEX isn't going to be compatible with this.
PR #4670 requires this
2025-07-16 15:23:43 -07:00
Lioncache
a615f8970a
ASIMDOps: Constrain 3-reg same float arguments with IsQOrDRegister
...
These are only intended to be used with QRegisters or DRegisters, so we can constrain these
so that the proper types are enforced at compile-time.
2025-07-16 17:46:28 -04:00
Lioncache
708ea9d50a
ASIMDOps: Merge half-float 3-reg same with single/double variants
2025-07-16 17:36:24 -04:00
Ryan Houdek
e36a64ecc0
Merge pull request #4681 from Sonicadvance1/i_dislike_tuple_2
...
FEXCore/OpcodeDispatcher: Removes tuple usage for Dispatch tables
2025-07-16 14:23:18 -07:00
Ryan Houdek
82be09b6a3
FEXCore/OpcodeDispatcher: Removes tuple usage for Dispatch tables
...
NFC
2025-07-16 13:57:16 -07:00
Ryan Houdek
eb7655d93c
External/code-format-helper: Update requirements
...
Latest of everything, let's see what happens.
To get rid of dependabot alerts.
2025-07-16 13:54:43 -07:00
Ryan Houdek
c1fe841bf3
Merge pull request #4687 from lioncash/hfloat
...
ASIMDOps: Merge half-float 2-reg misc with single/double variants
2025-07-16 13:50:53 -07:00
Lioncache
82ffb379c4
ASIMDOps: Merge half-float 2-reg misc with single/double variants
...
Unifies the interface, so that there's no need for a stark difference.
Previously, calling the single/double variant didn't require explicit template
arguments, but the half-float version did, which is inconsistent.
Technically it also made the interface more cumbersome to use in the event the
element size isn't able to be determined as a constant ahead of time.
2025-07-16 10:16:49 -04:00
Tony Wasserka
befae52993
Merge pull request #4685 from pmatos/fix/clang-format-19-ignore
...
Ensure .clang-format-ignore is compatible with clang-format-19
2025-07-16 15:32:09 +02:00
Paulo Matos
48597d7682
Ensure .clang-format-ignore is compatible with clang-format-19
...
Since clang-format-19 doesn't support globstar yet, add .clang-format
to disable formatting inside External/.
2025-07-16 15:20:03 +02:00
Lioncache
05d45ccb7f
Emitter: Add helper for sanitizing floating point element sizes
...
Will be used in a following change to reduce the amount of duplication
made in some floating point instructions.
2025-07-16 09:19:45 -04:00
LC
e0ca04bfec
Merge pull request #4684 from Sonicadvance1/spurious_syscall_crash
...
FEXCore/OpcodeDispatcher: Fix a spurious crash that can occur with multiblock
2025-07-15 21:44:51 -04:00
LC
34566861ba
Merge pull request #4683 from Sonicadvance1/waitpkg_mostly_nop
...
FEXCore: Implement a mostly NOP implementation of waitpkg
2025-07-15 21:43:11 -04:00
Ryan Houdek
dfe3b4502a
FEXCore/OpcodeDispatcher: Fix a spurious crash that can occur with multiblock
...
If multiblock discovers a codepath with an `int 0x80` then it would
crash the emulator even if it never gets executed. Ensure that this
ERROR_AND_DIE_FMT instead just gets handled as an UnhandledOp to ensure
the Core early terminates the block.
Found by having steamwebhelper spuriously crash when it hit this.
Adds a simple unittest to ensure discovery doesn't break again.
2025-07-15 17:43:16 -07:00