mirror of
https://git.743378673.xyz/MeloNX/MeloNX.git
synced 2025-06-28 19:36:24 +02:00
Remove address space mirror and tweak address space layout when host has small adress space
This commit is contained in:
parent
2ad3605cdb
commit
93cf57913c
8 changed files with 1046 additions and 1595 deletions
|
@ -213,11 +213,13 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
|||
break;
|
||||
|
||||
case AddressSpaceType.Addr39Bits:
|
||||
if (_reservedAddressSpaceSize < addrSpaceEnd)
|
||||
{
|
||||
int addressSpaceWidth = (int)ulong.Log2(_reservedAddressSpaceSize);
|
||||
ulong reservedAddressSpaceSize = _reservedAddressSpaceSize;
|
||||
|
||||
aliasRegion.Size = 1UL << (addressSpaceWidth - 3);
|
||||
if (reservedAddressSpaceSize < addrSpaceEnd)
|
||||
{
|
||||
int addressSpaceWidth = (int)ulong.Log2(reservedAddressSpaceSize);
|
||||
|
||||
aliasRegion.Size = reservedAddressSpaceSize >= 0x1800000000 ? 0x1000000000 : 1UL << (addressSpaceWidth - 3);
|
||||
heapRegion.Size = 0x180000000;
|
||||
stackRegion.Size = 1UL << (addressSpaceWidth - 8);
|
||||
tlsIoRegion.Size = 1UL << (addressSpaceWidth - 3);
|
||||
|
@ -226,7 +228,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
|||
stackAndTlsIoStart = 0;
|
||||
stackAndTlsIoEnd = 0;
|
||||
AslrRegionStart = Math.Max(reservedSize, 0x8000000);
|
||||
addrSpaceEnd = reservedSize + (1UL << addressSpaceWidth);
|
||||
addrSpaceEnd = reservedSize + reservedAddressSpaceSize;
|
||||
AslrRegionEnd = addrSpaceEnd;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue