From 498bb95cf18adfda82381e46e3226f13b4b43d56 Mon Sep 17 00:00:00 2001 From: Gabriel A Date: Fri, 7 Jul 2023 23:09:19 -0300 Subject: [PATCH] Fix incorrect AslrRegionStart when using NCE (cherry picked from commit 0f34b8e78e2cfca99f6a25553a1fedebbfd3adae) --- src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs index 2fe2f4f92..5f4162448 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs @@ -233,7 +233,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory codeRegionSize = BitUtils.AlignUp(endAddr, RegionAlignment) - CodeRegionStart; stackAndTlsIoStart = 0; stackAndTlsIoEnd = 0; - AslrRegionStart = reservedSize + 0x8000000; + AslrRegionStart = Math.Max(reservedSize, 0x8000000); addrSpaceEnd = reservedSize + (1UL << addressSpaceWidth); AslrRegionEnd = addrSpaceEnd; } @@ -245,7 +245,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory tlsIoRegion.Size = 0x1000000000; CodeRegionStart = BitUtils.AlignDown(address, RegionAlignment); codeRegionSize = BitUtils.AlignUp(endAddr, RegionAlignment) - CodeRegionStart; - AslrRegionStart = reservedSize + 0x8000000; + AslrRegionStart = Math.Max(reservedSize, 0x8000000); AslrRegionEnd = 0x8000000000; stackAndTlsIoStart = 0; stackAndTlsIoEnd = 0;