diff options
author | Mary <me@thog.eu> | 2022-01-29 22:18:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-29 22:18:03 +0100 |
commit | 20ce37dee6158ede18ad699338ecea083728423b (patch) | |
tree | 368333cced7160a272e1f29f92d99b9b48ae3199 /Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs | |
parent | c52158b73361bd25364c23c2b39780d2e626c858 (diff) |
kernel: A bit of refactoring and fix GetThreadContext3 correctness (#3042)1.1.12
* 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
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs')
-rw-r--r-- | Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs b/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs index 28944c4f..55e839ab 100644 --- a/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs +++ b/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs @@ -11,8 +11,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Process public byte[] SvcAccessMask { get; private set; } public byte[] IrqAccessMask { get; private set; } - public long AllowedCpuCoresMask { get; private set; } - public long AllowedThreadPriosMask { get; private set; } + public ulong AllowedCpuCoresMask { get; private set; } + public ulong AllowedThreadPriosMask { get; private set; } public int DebuggingFlags { get; private set; } public int HandleTableSize { get; private set; } @@ -28,7 +28,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process public KernelResult InitializeForKernel(ReadOnlySpan<int> capabilities, KPageTableBase memoryManager) { AllowedCpuCoresMask = 0xf; - AllowedThreadPriosMask = -1; + AllowedThreadPriosMask = ulong.MaxValue; DebuggingFlags &= ~3; KernelReleaseVersion = KProcess.KernelVersionPacked; @@ -303,16 +303,16 @@ namespace Ryujinx.HLE.HOS.Kernel.Process return KernelResult.Success; } - private static long GetMaskFromMinMax(int min, int max) + private static ulong GetMaskFromMinMax(int min, int max) { int range = max - min + 1; if (range == 64) { - return -1L; + return ulong.MaxValue; } - long mask = (1L << range) - 1; + ulong mask = (1UL << range) - 1; return mask << min; } |