AnyPS5/core/libs/prx/libkernel/DirectMemory
hikazey 0bff6da3d3 feat(libkernel): implement msync
msync follows FreeBSD 11's kern_msync and vm_map_sync over the guest's
mappings as sceKernelVirtualQuery reports them: the address is rounded
down to the page, a range that wraps and MS_ASYNC with MS_INVALIDATE are
EINVAL, an unmapped start or page is ENOMEM, and length 0 checks the
mapping that holds the address. The guest has no file mappings, so a
successful call has nothing to write back. MS_INVALIDATE on a mapped
range throws, since FreeBSD's EBUSY for mlocked pages needs lock state
that is not tracked.

EVO-PLAYER PPSA99039 v0.11.0 imports it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:38:58 +02:00
..
DirectMemory.cpp fix(libkernel): replace partly overlapped allocations with a fixed mapping 2026-10-07 20:31:08 -04:00
DirectMemory.hpp feat(kernel): apply the memory type in sceKernelMtypeprotect 2026-10-06 14:32:47 +02:00
Export.cpp feat(libkernel): implement munlock beside mlock 2026-10-09 15:14:57 +02:00
MemoryPool.cpp feat(kernel): apply the memory type in sceKernelMtypeprotect 2026-10-06 14:32:47 +02:00
MemoryPool.hpp fix(libkernel): correct the MemoryPool.hpp include guard 2026-10-06 14:57:51 +02:00
MemoryPoolExport.cpp fix(libkernel): honour MAP_FIXED in sceKernelReserveVirtualRange and sceKernelMemoryPoolReserve 2026-10-01 00:00:22 +02:00
PosixMemory.cpp feat(libkernel): implement msync 2026-10-09 23:38:58 +02:00