From c963b3c80488f88c9d7f44588b6ba45051af3e2d Mon Sep 17 00:00:00 2001 From: Hunter <102537986+HunterBarney@users.noreply.github.com> Date: Mon, 26 Dec 2022 09:11:05 -0500 Subject: Added Generic Math to BitUtils (#3929) * Generic Math Update Updated Several functions in Ryujinx.Common/Utilities/BitUtils to use generic math * Updated BitUtil calls * Removed Whitespace * Switched decrement * Fixed changed method calls. The method calls were originally changed on accident due to me relying too much on intellisense doing stuff for me * Update Ryujinx.Common/Utilities/BitUtils.cs Co-authored-by: gdkchan Co-authored-by: gdkchan --- Ryujinx.HLE/HOS/Kernel/Ipc/KBufferDescriptorTable.cs | 10 +++++----- Ryujinx.HLE/HOS/Kernel/Ipc/KServerSession.cs | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'Ryujinx.HLE/HOS/Kernel/Ipc') diff --git a/Ryujinx.HLE/HOS/Kernel/Ipc/KBufferDescriptorTable.cs b/Ryujinx.HLE/HOS/Kernel/Ipc/KBufferDescriptorTable.cs index a4e7f589..5726299b 100644 --- a/Ryujinx.HLE/HOS/Kernel/Ipc/KBufferDescriptorTable.cs +++ b/Ryujinx.HLE/HOS/Kernel/Ipc/KBufferDescriptorTable.cs @@ -81,8 +81,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc attributeMask |= MemoryAttribute.DeviceMapped; } - ulong clientAddrTruncated = BitUtils.AlignDown(desc.ClientAddress, KPageTableBase.PageSize); - ulong clientAddrRounded = BitUtils.AlignUp (desc.ClientAddress, KPageTableBase.PageSize); + ulong clientAddrTruncated = BitUtils.AlignDown(desc.ClientAddress, KPageTableBase.PageSize); + ulong clientAddrRounded = BitUtils.AlignUp(desc.ClientAddress, KPageTableBase.PageSize); // Check if address is not aligned, in this case we need to perform 2 copies. if (clientAddrTruncated != clientAddrRounded) @@ -113,9 +113,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc ulong clientEndAddr = desc.ClientAddress + desc.Size; ulong serverEndAddr = desc.ServerAddress + desc.Size; - ulong clientEndAddrTruncated = BitUtils.AlignDown(clientEndAddr, KPageTableBase.PageSize); - ulong clientEndAddrRounded = BitUtils.AlignUp (clientEndAddr, KPageTableBase.PageSize); - ulong serverEndAddrTruncated = BitUtils.AlignDown(serverEndAddr, KPageTableBase.PageSize); + ulong clientEndAddrTruncated = BitUtils.AlignDown(clientEndAddr, (ulong)KPageTableBase.PageSize); + ulong clientEndAddrRounded = BitUtils.AlignUp(clientEndAddr, KPageTableBase.PageSize); + ulong serverEndAddrTruncated = BitUtils.AlignDown(serverEndAddr, (ulong)KPageTableBase.PageSize); if (clientEndAddrTruncated < clientEndAddrRounded && (clientAddrTruncated == clientAddrRounded || clientAddrTruncated < clientEndAddrTruncated)) diff --git a/Ryujinx.HLE/HOS/Kernel/Ipc/KServerSession.cs b/Ryujinx.HLE/HOS/Kernel/Ipc/KServerSession.cs index dc5ad717..199e78dc 100644 --- a/Ryujinx.HLE/HOS/Kernel/Ipc/KServerSession.cs +++ b/Ryujinx.HLE/HOS/Kernel/Ipc/KServerSession.cs @@ -1005,7 +1005,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc recvListEndAddr = recvListBaseAddr + size; } - recvListBufferAddress = BitUtils.AlignUp(recvListBaseAddr + dstOffset, 0x10); + recvListBufferAddress = BitUtils.AlignUp(recvListBaseAddr + dstOffset, 0x10); ulong endAddress = recvListBufferAddress + descriptor.BufferSize; -- cgit v1.2.3