AnyPS5/core/libs/prx/libkernel/DirectMemory
Scott Schuster 58e871cf2a fix(libkernel): place sceKernelReserveVirtualRange at its address hint
Without MAP_FIXED the address is a hint, as for FreeBSD's mmap: the reservation goes at the hint when that range is free, else at the first free range above it. The hint was dropped, so every hinted reservation landed at the lowest free address.

RetroArch (PPSA99169) reserves its cores' direct-memory heap near 0x2000000000 outside the GPU window (0x200000000-0x300000000) and refuses a range inside it; with every reservation at 0x200400000 the heap was never made, and Dolphin's first aligned allocation returned null.

AI-assisted (Claude Code).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 07:59:00 -05:00
..
DirectMemory.cpp fix(libkernel): place sceKernelReserveVirtualRange at its address hint 2026-10-10 07:59:00 -05:00
DirectMemory.hpp fix(libkernel): answer munlock from the guest mapping state on Linux 2026-10-10 22:56:07 +13:00
Export.cpp fix(libkernel): answer munlock from the guest mapping state on Linux 2026-10-10 22:56:07 +13: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 fix(libkernel): answer munlock from the guest mapping state on Linux 2026-10-10 22:56:07 +13:00