AnyPS5/docs/dev
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
..
ARCHITECTURE.md docs: add architecture overview with Mermaid diagrams 2026-10-04 11:20:38 +02:00
BUILD.md Merge pull request #1083 from ctz23/docs/linux-x11-build-requirements-20261007 2026-10-08 18:29:03 +13:00
CONVENTIONS.md refactor(docs): separated user and dev in docs + compatibility file 2026-09-28 22:58:17 +03:00
HW_ORACLE.md fix(oracle)!: require explicit float modes 2026-10-07 14:58:28 +05:00
PROGRESS.md fix(progress): report shared-source libraries 2026-10-07 21:40:38 +02:00
TechnicalDebt.md fix(libkernel): keep ymm upper halves across a redirected raise 2026-10-08 10:47:33 +02:00