From 20ce37dee6158ede18ad699338ecea083728423b Mon Sep 17 00:00:00 2001 From: Mary Date: Sat, 29 Jan 2022 22:18:03 +0100 Subject: kernel: A bit of refactoring and fix GetThreadContext3 correctness (#3042) * Start refactoring kernel a bit and import some changes from kernel decoupling PR * kernel: Put output always at the start in Syscall functions * kernel: Rewrite GetThreadContext3 to use a structure and to be accurate * kernel: make KernelTransfer use generic types and simplify * Fix some warning and do not use getters on MemoryInfo * Address gdkchan's comment * GetThreadContext3: use correct pause flag --- Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs') diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs index be45f02a..20b3a497 100644 --- a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs +++ b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs @@ -45,7 +45,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process public KAddressArbiter AddressArbiter { get; private set; } - public long[] RandomEntropy { get; private set; } + public ulong[] RandomEntropy { get; private set; } public KThread[] PinnedThreads { get; private set; } private bool _signaled; @@ -102,7 +102,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process Capabilities = new KProcessCapabilities(); - RandomEntropy = new long[KScheduler.CpuCoresCount]; + RandomEntropy = new ulong[KScheduler.CpuCoresCount]; PinnedThreads = new KThread[KScheduler.CpuCoresCount]; // TODO: Remove once we no longer need to initialize it externally. @@ -868,12 +868,12 @@ namespace Ryujinx.HLE.HOS.Kernel.Process public bool IsCpuCoreAllowed(int core) { - return (Capabilities.AllowedCpuCoresMask & (1L << core)) != 0; + return (Capabilities.AllowedCpuCoresMask & (1UL << core)) != 0; } public bool IsPriorityAllowed(int priority) { - return (Capabilities.AllowedThreadPriosMask & (1L << priority)) != 0; + return (Capabilities.AllowedThreadPriosMask & (1UL << priority)) != 0; } public override bool IsSignaled() -- cgit v1.2.3