* [Memory] Reserve the guest address space again after an image reset SelfLoader clears virtual memory before loading the eboot, which released the startup pre-reservation of 0x10_0000_0000..0xFC_0000_0000. Every later large reservation then had to probe the host address space candidate by candidate. * [Memory] Pre-reserve the guest address space on POSIX hosts POSIX had no ReserveFreeAddressRanges and cannot query foreign host mappings, so TryHoldRangeAtOrAbove stepped through the address space one alignment unit at a time. On macOS a 512 GiB reservation (all UE titles) took ~196k failed mmap/munmap pairs before reaching free space, which the stall watchdog reported as a hang in sceKernelReserveVirtualRange. Find the free ranges by bisection, and use the first pre-reserved candidate once a lower candidate fails. |
||
|---|---|---|
| .. | ||
| IVirtualMemory.cs | ||
| PhysicalVirtualMemory.cs | ||
| VirtualMemory.cs | ||
| VirtualMemoryRegion.cs | ||