Fix incorrect AslrRegionStart when using NCE

This commit is contained in:
Gabriel A 2023-07-07 23:09:19 -03:00 committed by Emmanuel Hansen
parent 25b31b559a
commit c694d5774d

View File

@ -225,7 +225,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
codeRegionSize = BitUtils.AlignUp<ulong>(endAddr, RegionAlignment) - CodeRegionStart; codeRegionSize = BitUtils.AlignUp<ulong>(endAddr, RegionAlignment) - CodeRegionStart;
stackAndTlsIoStart = 0; stackAndTlsIoStart = 0;
stackAndTlsIoEnd = 0; stackAndTlsIoEnd = 0;
AslrRegionStart = reservedSize + 0x8000000; AslrRegionStart = Math.Max(reservedSize, 0x8000000);
addrSpaceEnd = reservedSize + (1UL << addressSpaceWidth); addrSpaceEnd = reservedSize + (1UL << addressSpaceWidth);
AslrRegionEnd = addrSpaceEnd; AslrRegionEnd = addrSpaceEnd;
} }
@ -237,7 +237,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
tlsIoRegion.Size = 0x1000000000; tlsIoRegion.Size = 0x1000000000;
CodeRegionStart = BitUtils.AlignDown(address, RegionAlignment); CodeRegionStart = BitUtils.AlignDown(address, RegionAlignment);
codeRegionSize = BitUtils.AlignUp(endAddr, RegionAlignment) - CodeRegionStart; codeRegionSize = BitUtils.AlignUp(endAddr, RegionAlignment) - CodeRegionStart;
AslrRegionStart = reservedSize + 0x8000000; AslrRegionStart = Math.Max(reservedSize, 0x8000000);
AslrRegionEnd = 0x8000000000; AslrRegionEnd = 0x8000000000;
stackAndTlsIoStart = 0; stackAndTlsIoStart = 0;
stackAndTlsIoEnd = 0; stackAndTlsIoEnd = 0;