From c694d5774d2ac1d5cdef4d26369a7f9cac01e7fc 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 --- 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 fd226987d..77a3092c7 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs @@ -225,7 +225,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; } @@ -237,7 +237,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;