AnyPS5/core/libs/prx/libkernel
clem-gb 15c1962e82 fix(libkernel): keep ymm upper halves across a redirected raise
A thread that sceKernelRaiseException redirects resumes through
RtlRestoreContext with a CONTEXT that has no XSTATE, so the upper halves
of ymm0-ymm15 came back as the handler and the delivery path left them.
A handler or host routine that runs vzeroupper or any VEX instruction
(Zen 2 guest code, the CRT's memcpy) cleared the upper lanes of a thread
interrupted in the middle of AVX code. The entry stub now stores
ymm0-ymm15 next to the delivery when the CPU and the OS enable AVX, and
the exit loads them back right before RtlRestoreContext, which restores
only the low halves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HeC9bA3n74TzJRYv9AgBE8
2026-10-08 10:47:33 +02:00
..
Aio/src feat(libs): declare the exports PPSA14632 imports that no library provides 2026-10-07 07:10:13 +02:00
AppMetadata fix(libSceAppContent): read user defined app params from param.json 2026-10-08 07:49:16 +02:00
Apr feat(libs): implement the AMM PRT commands 2026-10-05 15:45:28 -05:00
DirectMemory feat(libkernel): implement POSIX mprotect 2026-10-08 08:24:06 +02:00
Equeue fix(libkernel): wake infinite equeue waits for timers, document timer choices 2026-10-07 18:14:04 +02:00
EventFlag/src feat(runtime): timed waits, sync primitive fixes, heap and RTC fixes, unattended-run switches 2026-09-26 19:00:39 -07:00
File fix(kernel): transfer each iovec directly on Windows 2026-10-08 09:52:49 +02:00
Module/src fix(kernel): throw on unsupported unwind tables in sceKernelGetModuleInfoForUnwind 2026-10-08 00:54:43 +02:00
Pthread Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/kernel-raise-exception-windows 2026-10-07 21:23:46 +02:00
Semaphore Merge pull request #315 from RomainROCH/codex/fix-semaphore-overflow 2026-10-04 14:01:19 +13:00
Socket fix(libkernel): accept guest socket addresses whatever their sa_len 2026-10-07 10:34:23 +00:00
SyncOnAddress/src feat(libkernel): implement sceKernelSyncOnAddressWait8 and sceKernelSyncOnAddressWait16 2026-10-06 04:30:12 +05:30
System/src fix(libkernel): keep ymm upper halves across a redirected raise 2026-10-08 10:47:33 +02:00
Time fix(kernel): drain raised exceptions when leaving an alertable wait 2026-10-07 22:11:29 +02:00
CMakeLists.txt feat(kernel): implement vectored file IO on Windows 2026-10-08 09:52:49 +02:00
KernelErrors.hpp refactor(kernel): share SCE kernel error codes through KernelErrors.hpp 2026-09-27 13:32:28 +07:00
Unimplemented.cpp feat(libkernel): implement sceKernelReleaseFlexibleMemory (#952) 2026-10-07 10:20:07 +13:00