AnyPS5/core/libs/prx/libkernel/DirectMemory
thibaut 71da166a18 fix(libc): keep resident mappings to direct memory backings on Windows
Map made every singly mapped section page private resident memory. A JIT
or shm_open section is file backed and committed: its bytes live in the
file, and its alias descriptors map duplicated handles, which the physical
page slots do not match, so a resident copy diverged from the file, and
committing its view on a demote failed with access denied
(guest_jit_shared_memory). Only direct memory backings, mapped through the
new GuestArenaMapDirect, now become resident; other sections keep main's
shared views. Shared pages are committed only while their section page is
reserved, as on main.

The socket host write tests map their direct memory a second time, so the
write-protected shared path they check is still the one they exercise.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1W4jdNSKTV7xwuS6xQPJV
2026-10-14 02:39:10 +02:00
..
DirectMemory.cpp fix(libc): keep resident mappings to direct memory backings on Windows 2026-10-14 02:39:10 +02:00
DirectMemory.hpp feat(libkernel): implement the JIT shared memory calls 2026-10-12 21:59:19 +02:00
Export.cpp fix(kernel): honor the declared flexible memory budget 2026-10-13 20:13:14 -03:00
Jit.cpp fix(libkernel): create the JIT shared memory backing in one call 2026-10-12 21:59:19 +02:00
MemoryPool.cpp fix(libkernel): harden DirectMemory pool bounds and rollback 2026-10-13 10:49:27 +00:00
MemoryPool.hpp fix(libkernel): correct the MemoryPool.hpp include guard 2026-10-06 14:57:51 +02:00
MemoryPoolExport.cpp fix(libkernel): forward entry type in sceKernelMemoryPoolBatch op 1 2026-10-12 11:31:52 +05:30
PosixMemory.cpp feat(libkernel): add mlockall 2026-10-13 07:51:35 +00:00