sharpemu/tests/SharpEmu.Libs.Tests/Cpu
999sian ada67a1924
cpu: recover SSE4a EXTRQ/INSERTQ faults on Linux (#482)
The fault-time SSE4a fallback was Windows-only because the POSIX signal
bridge never carried XMM state: the CONTEXT scratch buffer only held the
17 general-purpose registers, so emulating EXTRQ/INSERTQ there would
have computed results from zeroed bytes and discarded the write. Bridge
the XMM registers on Linux by copying them between the mcontext's
FXSAVE image (kernel sigcontext ABI, libc-independent) and the CONTEXT
FltSave slots on capture and write-back, and gate the recovery on that
bridge instead of on Windows. Darwin still declines: its XMM area
remains unbridged.

With this, guest EXTRQ/INSERTQ on Linux hosts without SSE4a (any Intel
CPU) resumes with correct register state instead of dying on an
unrecovered SIGILL (#328).
2026-07-21 14:18:21 +03:00
..
BmiInstructionEmulatorTests.cs cpu: emulate BMI1/BMI2/ABM instructions in software when the host lacks them (#249) 2026-07-16 16:38:27 +03:00
GuestContextTransferValidationTests.cs [CPU] Reject context transfers to unmapped guest addresses (#273) 2026-07-16 19:57:34 +03:00
GuestThreadBlockWaiterRepresentationTests.cs [CPU] Preserve blocked leaf import waiters (#350) 2026-07-18 02:59:13 +03:00
ImportTrampolineAbiTests.cs [Tests/CPU] Verify import trampoline volatile-state ABI (#274) 2026-07-16 19:57:23 +03:00
JitStubsTests.cs CPU: scan final TLS access pattern offset (#414) 2026-07-19 00:07:32 +03:00
MemcpyHleRoutingTests.cs Fix Massive Bug Preventing UE5 Titles From Booting (#406) 2026-07-18 12:50:59 -06:00
Sse4aBitFieldEmulatorTests.cs cpu: emulate AMD-only Zen 2 instructions in software (#449) 2026-07-19 21:57:42 +03:00
Sse4aPosixSignalRecoveryTests.cs cpu: recover SSE4a EXTRQ/INSERTQ faults on Linux (#482) 2026-07-21 14:18:21 +03:00