From 305f06eb71a7832e6b0081a67015b66ced8a23cd Mon Sep 17 00:00:00 2001 From: Mary Date: Sat, 24 Apr 2021 12:16:01 +0200 Subject: HLE: Fix integer sign inconcistency accross the codebase (#2222) * Make all title id instances unsigned * Replace address and size with ulong instead of signed types Long overdue change. Also change some logics here and there to optimize with the new memory manager. * Address Ac_K's comments * Remove uneeded cast all around * Fixes some others misalignment --- Ryujinx.HLE/HOS/Kernel/Common/KernelTransfer.cs | 2 +- Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs | 4 ++-- Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs | 2 +- Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'Ryujinx.HLE/HOS/Kernel') diff --git a/Ryujinx.HLE/HOS/Kernel/Common/KernelTransfer.cs b/Ryujinx.HLE/HOS/Kernel/Common/KernelTransfer.cs index 3002b6a9..53e539a2 100644 --- a/Ryujinx.HLE/HOS/Kernel/Common/KernelTransfer.cs +++ b/Ryujinx.HLE/HOS/Kernel/Common/KernelTransfer.cs @@ -50,7 +50,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Common if (currentProcess.CpuMemory.IsMapped(address) && currentProcess.CpuMemory.IsMapped(address + (ulong)size - 1)) { - value = MemoryHelper.ReadAsciiString(currentProcess.CpuMemory, (long)address, size); + value = MemoryHelper.ReadAsciiString(currentProcess.CpuMemory, address, size); return true; } diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs index 429c23e3..15ab82b8 100644 --- a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs +++ b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs @@ -340,7 +340,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process UserExceptionContextAddress = userExceptionContextAddress; - MemoryHelper.FillWithZeros(CpuMemory, (long)userExceptionContextAddress, KTlsPageInfo.TlsEntrySize); + MemoryHelper.FillWithZeros(CpuMemory, userExceptionContextAddress, KTlsPageInfo.TlsEntrySize); Name = creationInfo.Name; @@ -461,7 +461,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process { pageInfo = new KTlsPageInfo(tlsPageVa); - MemoryHelper.FillWithZeros(CpuMemory, (long)tlsPageVa, KMemoryManager.PageSize); + MemoryHelper.FillWithZeros(CpuMemory, tlsPageVa, KMemoryManager.PageSize); } return result; diff --git a/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs b/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs index 418a02f0..238f1226 100644 --- a/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs +++ b/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs @@ -1431,7 +1431,7 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall { KProcess process = KernelStatic.GetCurrentProcess(); - string str = MemoryHelper.ReadAsciiString(process.CpuMemory, (long)strPtr, (long)size); + string str = MemoryHelper.ReadAsciiString(process.CpuMemory, strPtr, (long)size); Logger.Warning?.Print(LogClass.KernelSvc, str); } diff --git a/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs b/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs index b95b1e8e..7ba9e43a 100644 --- a/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs +++ b/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs @@ -161,7 +161,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading TlsDramAddress = owner.MemoryManager.GetDramAddressFromVa(_tlsAddress); - MemoryHelper.FillWithZeros(owner.CpuMemory, (long)_tlsAddress, KTlsPageInfo.TlsEntrySize); + MemoryHelper.FillWithZeros(owner.CpuMemory, _tlsAddress, KTlsPageInfo.TlsEntrySize); } bool is64Bits; -- cgit v1.2.3