mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-31 12:35:51 +00:00
Under Rosetta the main thread stack lies at about 12 GiB, inside the guest arena, where a title can map fixed addresses; a fixed mapping over it aborts with a host region overlap. - Aps5StartGuest moves the main thread onto a 16 MiB stack at 0x600000000000 when the old stack overlaps a host region of the arena. It copies argv, environ, the program name and the initial block off the old stack, then frees the old stack and releases its range to the arena. - The guest thread keeps the stack size of the original main thread. - The arena gets GuestArenaOverlapsHostRegion and GuestArenaReleaseHostRegion for POSIX hosts. - guest_main_stack_move starts the guest, then requires the main thread outside the arena, a fixed mapping where the old stack was, and argv and the environment intact. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>