mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 16:43:05 -05:00
- DirectMemory: track each allocated block's type and extent in the physical pool (DirectMemoryBlock), splitting the record on a partial free, and expose DirectMemoryQueryBlock/DirectMemoryFreeRun. Wires sceKernelDirectMemoryQuery to answer with the real allocated range and type instead of a hardcoded one-page/type-3 guess, and sceKernelAvailableDirectMemorySize to report the actual free run instead of the whole remaining aperture. DirectMemory.cpp's mapping path already tolerates MAP_FIXED overlap into a registered range and already has honor-then-fallback address-hint handling and an ignored-flags mask, so it is unchanged here. - MemoryPoolExport: implement sceKernelMemoryPoolBatch/Commit/Decommit/ Expand/GetBlockStats/Reserve (previously all dead stubs) using the existing DoMprotect/DirectMemoryAlloc/DoReserveVirtual primitives and a small pool-state block counter. - Module: wire sceKernelDlsym/sceKernelLoadStartModule/ sceKernelStopUnloadModule to the existing host-module loader (dlopen_nid_postfix/dlsym_nid_postfix/dlclose_nid_postfix), replacing dead stubs. sceKernelGetModuleInfoForUnwind/FromAddr are unrelated and left as-is.