mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-29 12:15:39 +00:00
- mlock on macOS wires only the pages libkernel has not wired yet. XNU counts each wire of a page, and the locked ranges merge overlapping locks, so a page locked twice stayed wired after munlock and munlockall. The mlock test checks the wire count on macOS. - mprotect changes a watched page through GuestWriteWatchProtect, which applies the host protection and records it under the write watch's lock, so a collection on another thread cannot run between the two. The write watch test covers it. - sceKernelVirtualQuery takes a watched page's write permission from the write watch for memory outside the guest allocation registry. - GuestAllocationsGuestPages counts an image segment up to the end of its last host page, as the image page collection does. - The macOS includes stay in main's include block, so the host code other pull requests add there still sees them; the unused Mach-O headers and the end trim, which never changed the protected spans, are gone, and the guest page size is passed in. - The libc and libkernel debt entries describe what is wired now.