aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Kernel/Memory
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Memory')
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KCodeMemory.cs8
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KPageBitmap.cs4
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KPageHeap.cs2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs46
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KSharedMemory.cs4
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KTransferMemory.cs4
6 files changed, 34 insertions, 34 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KCodeMemory.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KCodeMemory.cs
index 2df93d78..05cf4a4f 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KCodeMemory.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KCodeMemory.cs
@@ -44,7 +44,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public KernelResult Map(ulong address, ulong size, KMemoryPermission perm)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, (ulong)KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}
@@ -73,7 +73,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public KernelResult MapToOwner(ulong address, ulong size, KMemoryPermission permission)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, (ulong)KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}
@@ -102,7 +102,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public KernelResult Unmap(ulong address, ulong size)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, (ulong)KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}
@@ -128,7 +128,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public KernelResult UnmapFromOwner(ulong address, ulong size)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KPageBitmap.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KPageBitmap.cs
index 0568325a..fa090b02 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KPageBitmap.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KPageBitmap.cs
@@ -101,7 +101,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
for (int depth = HighestDepthIndex; depth >= 0; depth--)
{
_bitStorages[depth] = storage;
- size = BitUtils.DivRoundUp(size, UInt64BitSize);
+ size = BitUtils.DivRoundUp<ulong>(size, (ulong)UInt64BitSize);
storage = storage.Slice((int)size);
}
@@ -288,7 +288,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
for (int depth = GetRequiredDepth(regionSize) - 1; depth >= 0; depth--)
{
- regionSize = BitUtils.DivRoundUp(regionSize, UInt64BitSize);
+ regionSize = BitUtils.DivRoundUp<ulong>(regionSize, UInt64BitSize);
overheadBits += (int)regionSize;
}
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KPageHeap.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KPageHeap.cs
index 39ecfdea..c3586ed7 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KPageHeap.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KPageHeap.cs
@@ -48,7 +48,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
{
int diff = 1 << (NextShift - Shift);
- offset = BitUtils.AlignDown(offset, diff);
+ offset = BitUtils.AlignDown(offset, (ulong)diff);
if (_bitmap.ClearRange(offset, diff))
{
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs
index 501d1cc4..2c94cba2 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs
@@ -203,8 +203,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
heapRegion.Size = 0x180000000;
stackRegion.Size = 0x80000000;
tlsIoRegion.Size = 0x1000000000;
- CodeRegionStart = BitUtils.AlignDown(address, 0x200000);
- codeRegionSize = BitUtils.AlignUp(endAddr, 0x200000) - CodeRegionStart;
+ CodeRegionStart = BitUtils.AlignDown<ulong>(address, 0x200000);
+ codeRegionSize = BitUtils.AlignUp<ulong>(endAddr, 0x200000) - CodeRegionStart;
stackAndTlsIoStart = 0;
stackAndTlsIoEnd = 0;
baseAddress = 0x8000000;
@@ -1584,8 +1584,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
return KernelResult.OutOfResource;
}
- ulong srcMapAddress = BitUtils.AlignUp(src, PageSize);
- ulong srcMapEndAddr = BitUtils.AlignDown(src + size, PageSize);
+ ulong srcMapAddress = BitUtils.AlignUp<ulong>(src, PageSize);
+ ulong srcMapEndAddr = BitUtils.AlignDown<ulong>(src + size, PageSize);
ulong srcMapSize = srcMapEndAddr - srcMapAddress;
result = MapPagesFromClientProcess(size, src, permission, state, srcPageTable, send, out ulong va);
@@ -1659,10 +1659,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
attributeMask |= MemoryAttribute.DeviceMapped;
}
- ulong addressRounded = BitUtils.AlignUp(address, PageSize);
- ulong addressTruncated = BitUtils.AlignDown(address, PageSize);
- ulong endAddrRounded = BitUtils.AlignUp(endAddr, PageSize);
- ulong endAddrTruncated = BitUtils.AlignDown(endAddr, PageSize);
+ ulong addressRounded = BitUtils.AlignUp<ulong>(address, PageSize);
+ ulong addressTruncated = BitUtils.AlignDown<ulong>(address, PageSize);
+ ulong endAddrRounded = BitUtils.AlignUp<ulong>(endAddr, PageSize);
+ ulong endAddrTruncated = BitUtils.AlignDown<ulong>(endAddr, PageSize);
if (!_slabManager.CanAllocate(MaxBlocksNeededForInsertion))
{
@@ -1769,10 +1769,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
ulong endAddr = address + size;
- ulong addressTruncated = BitUtils.AlignDown(address, PageSize);
- ulong addressRounded = BitUtils.AlignUp(address, PageSize);
- ulong endAddrTruncated = BitUtils.AlignDown(endAddr, PageSize);
- ulong endAddrRounded = BitUtils.AlignUp(endAddr, PageSize);
+ ulong addressTruncated = BitUtils.AlignDown<ulong>(address, PageSize);
+ ulong addressRounded = BitUtils.AlignUp<ulong>(address, PageSize);
+ ulong endAddrTruncated = BitUtils.AlignDown<ulong>(endAddr, PageSize);
+ ulong endAddrRounded = BitUtils.AlignUp<ulong>(endAddr, PageSize);
ulong neededSize = endAddrRounded - addressTruncated;
@@ -1983,10 +1983,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
return KernelResult.OutOfResource;
}
- ulong addressTruncated = BitUtils.AlignDown(address, PageSize);
- ulong addressRounded = BitUtils.AlignUp(address, PageSize);
- ulong endAddrTruncated = BitUtils.AlignDown(endAddr, PageSize);
- ulong endAddrRounded = BitUtils.AlignUp(endAddr, PageSize);
+ ulong addressTruncated = BitUtils.AlignDown<ulong>(address, PageSize);
+ ulong addressRounded = BitUtils.AlignUp<ulong>(address, PageSize);
+ ulong endAddrTruncated = BitUtils.AlignDown<ulong>(endAddr, PageSize);
+ ulong endAddrRounded = BitUtils.AlignUp<ulong>(endAddr, PageSize);
ulong pagesCount = (endAddrRounded - addressTruncated) / PageSize;
@@ -2010,10 +2010,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
{
ulong endAddr = address + size;
- ulong addressRounded = BitUtils.AlignUp(address, PageSize);
- ulong addressTruncated = BitUtils.AlignDown(address, PageSize);
- ulong endAddrRounded = BitUtils.AlignUp(endAddr, PageSize);
- ulong endAddrTruncated = BitUtils.AlignDown(endAddr, PageSize);
+ ulong addressRounded = BitUtils.AlignUp<ulong>(address, PageSize);
+ ulong addressTruncated = BitUtils.AlignDown<ulong>(address, PageSize);
+ ulong endAddrRounded = BitUtils.AlignUp<ulong>(endAddr, PageSize);
+ ulong endAddrTruncated = BitUtils.AlignDown<ulong>(endAddr, PageSize);
ulong pagesCount = addressRounded < endAddrTruncated ? (endAddrTruncated - addressRounded) / PageSize : 0;
@@ -2540,7 +2540,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
for (int attempt = 0; attempt < 8; attempt++)
{
- ulong aslrAddress = BitUtils.AlignDown(regionStart + GetRandomValue(0, aslrMaxOffset) * (ulong)alignment, alignment);
+ ulong aslrAddress = BitUtils.AlignDown(regionStart + GetRandomValue(0, aslrMaxOffset) * (ulong)alignment, (ulong)alignment);
ulong aslrEndAddr = aslrAddress + totalNeededSize;
KMemoryInfo info = _blockManager.FindBlock(aslrAddress).GetInfo();
@@ -2618,7 +2618,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
currBaseAddr += reservedSize;
- ulong address = BitUtils.AlignDown(currBaseAddr, alignment) + reservedStart;
+ ulong address = BitUtils.AlignDown<ulong>(currBaseAddr, (ulong)alignment) + reservedStart;
if (currBaseAddr > address)
{
@@ -2834,7 +2834,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
{
lock (_blockManager)
{
- return BitUtils.DivRoundUp(GetMmUsedSize(), PageSize);
+ return BitUtils.DivRoundUp<ulong>(GetMmUsedSize(), PageSize);
}
}
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KSharedMemory.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KSharedMemory.cs
index 3711b9df..3af62750 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KSharedMemory.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KSharedMemory.cs
@@ -33,7 +33,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
KProcess process,
KMemoryPermission permission)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}
@@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public KernelResult UnmapFromProcess(KPageTableBase memoryManager, ulong address, ulong size, KProcess process)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KTransferMemory.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KTransferMemory.cs
index 107f04c9..2888efb8 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KTransferMemory.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KTransferMemory.cs
@@ -67,7 +67,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
KProcess process,
KMemoryPermission permission)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}
@@ -95,7 +95,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
ulong size,
KProcess process)
{
- if (_pageList.GetPagesCount() != BitUtils.DivRoundUp(size, KPageTableBase.PageSize))
+ if (_pageList.GetPagesCount() != BitUtils.DivRoundUp<ulong>(size, (ulong)KPageTableBase.PageSize))
{
return KernelResult.InvalidSize;
}