From 49c541ce2312b3316cd4f9a4dfc9d5010b49f72b Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 15 Jul 2026 18:32:29 -0600 Subject: [PATCH] Fix Linux aligned mapping retention --- src/SharpEmu.Core/Memory/PhysicalVirtualMemory.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/SharpEmu.Core/Memory/PhysicalVirtualMemory.cs b/src/SharpEmu.Core/Memory/PhysicalVirtualMemory.cs index f069d8f..4e88262 100644 --- a/src/SharpEmu.Core/Memory/PhysicalVirtualMemory.cs +++ b/src/SharpEmu.Core/Memory/PhysicalVirtualMemory.cs @@ -349,10 +349,8 @@ public sealed unsafe class PhysicalVirtualMemory : IVirtualMemory, IGuestMemoryA var requestedCursor = AlignUp(desiredAddress, effectiveAlignment); var cursor = GetAllocationSearchCursor(desiredAddress, requestedCursor, effectiveAlignment, executable); - // POSIX treats the requested address as a hint, and Rosetta may - // relocate whole guest windows. Over-allocate once so the returned - // host range always contains an aligned guest-visible start. - if (!OperatingSystem.IsWindows()) + // macOS needs alignment over-allocation; Linux uses exact-address search. + if (OperatingSystem.IsMacOS()) { var reserveSize = effectiveAlignment > PageSize ? alignedSize + effectiveAlignment