sharpemu/tests/SharpEmu.Libs.Tests
kuba ab0e77e5d6
[CPU] Emulate and rewrite SHA extension instructions on hosts without SHA (#909)
* [CPU] Emulate the SHA extensions when the host raises #UD

The PS5 CPU supports SHA1RNDS4/SHA1NEXTE/SHA1MSG1/SHA1MSG2 and
SHA256RNDS2/SHA256MSG1/SHA256MSG2, and titles use them without a CPUID
check. Rosetta 2 does not translate them, so Poppy Playtime (UE4) aborted
with SIGILL on sha1msg1 on Apple Silicon. Decode the faulting instruction
and compute it from the saved XMM registers, like the SSE4a fallback.

* [Loader] Rewrite SHA extension instructions at load time on hosts without SHA

A #UD trap per SHA instruction is far too slow for titles that hash large
files: Poppy Playtime took 300k traps and the stall watchdog stopped it.
The red-zone patcher now replaces each SHA instruction with general-register
code in its trampoline, keeping all other registers and the flags. The trap
handler stays as the fallback for sites that cannot be patched.
2026-09-26 14:20:08 +03:00
..
Agc Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
Ampr fix(gen5): handle runtime and shader buffer paths (#904) 2026-09-26 00:37:09 +03:00
AppContent Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Audio fix(gen5): handle runtime and shader buffer paths (#904) 2026-09-26 00:37:09 +03:00
AvPlayer Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Cpu [CPU] Emulate and rewrite SHA extension instructions on hosts without SHA (#909) 2026-09-26 14:20:08 +03:00
Fiber test: add Fiber exports contract tests (13 tests) (#428) 2026-07-19 13:53:33 +03:00
Font [Font] Implement sceFontGetVerticalLayout (#492) 2026-07-21 18:18:16 +03:00
GUI [GUI/CLI] Add support for console settings and language selection (#907) 2026-09-26 00:17:25 +03:00
Gpu fix(gen5): handle runtime and shader buffer paths (#904) 2026-09-26 00:37:09 +03:00
HLE Prevent invalid SaveData writes from damaging guest memory (#444) 2026-07-19 20:27:17 +03:00
Json [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
Kernel Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
LibcInternal Add libc heap trace contract tests (#409) 2026-07-19 03:25:42 +03:00
Loader Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Logging Reject undefined numeric LogLevel values (#390) 2026-07-18 15:47:19 +03:00
Media Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Memory [Memory] Pre-reserve the guest address space on POSIX hosts (#905) 2026-09-26 03:06:25 +03:00
Network Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Np Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Pad [Pad] Reject pad handle 0 after the title opens a pad (#912) 2026-09-26 14:19:39 +03:00
PlayGo [PlayGo] Reject authoritative unknown chunk loci (#242) 2026-07-16 19:22:33 +03:00
Pthread Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Random [HLE] Add RandomExports HLE (#413) 2026-07-18 23:44:57 +03:00
Remoteplay fix(gta): restore wiped GTA foundation and gameplay path (PPSA04264) (#650) 2026-07-27 01:58:55 +03:00
Rtc Fix sceRtcConvertLocalTimeToUtc failing on non-UTC hosts (#210) 2026-07-16 00:04:35 +03:00
SaveData Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
ShaderCompiler [Spirvtranslator] Added many instruction set for SPIR-V translator (#894) 2026-09-23 14:05:19 +03:00
SystemService [GUI/CLI] Add support for console settings and language selection (#907) 2026-09-26 00:17:25 +03:00
Tls [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
VideoOut Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
AerolibCatalogTests.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
FakeCpuMemory.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
LibcStdioExportsTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
NativeExecutionRequirements.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
NativePageProtectionRequirements.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
SaveDataStorageTests.cs Sdl backend (#670) 2026-07-28 03:33:26 +03:00
SharpEmu.Libs.Tests.csproj Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
SysAbiRegistryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00