aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs')
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs23
1 files changed, 12 insertions, 11 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs b/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs
index a08c4b26..ef55a165 100644
--- a/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs
@@ -1,6 +1,7 @@
using Ryujinx.HLE.HOS.Kernel.Common;
using Ryujinx.HLE.HOS.Kernel.Memory;
using Ryujinx.HLE.HOS.Kernel.Threading;
+using Ryujinx.Horizon.Common;
using System;
using System.Numerics;
@@ -25,7 +26,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
IrqAccessMask = new byte[0x80];
}
- public KernelResult InitializeForKernel(ReadOnlySpan<int> capabilities, KPageTableBase memoryManager)
+ public Result InitializeForKernel(ReadOnlySpan<int> capabilities, KPageTableBase memoryManager)
{
AllowedCpuCoresMask = 0xf;
AllowedThreadPriosMask = ulong.MaxValue;
@@ -35,12 +36,12 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
return Parse(capabilities, memoryManager);
}
- public KernelResult InitializeForUser(ReadOnlySpan<int> capabilities, KPageTableBase memoryManager)
+ public Result InitializeForUser(ReadOnlySpan<int> capabilities, KPageTableBase memoryManager)
{
return Parse(capabilities, memoryManager);
}
- private KernelResult Parse(ReadOnlySpan<int> capabilities, KPageTableBase memoryManager)
+ private Result Parse(ReadOnlySpan<int> capabilities, KPageTableBase memoryManager)
{
int mask0 = 0;
int mask1 = 0;
@@ -51,9 +52,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
if (((cap + 1) & ~cap) != 0x40)
{
- KernelResult result = ParseCapability(cap, ref mask0, ref mask1, memoryManager);
+ Result result = ParseCapability(cap, ref mask0, ref mask1, memoryManager);
- if (result != KernelResult.Success)
+ if (result != Result.Success)
{
return result;
}
@@ -96,7 +97,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
? KMemoryPermission.Read
: KMemoryPermission.ReadAndWrite;
- KernelResult result;
+ Result result;
if ((cap >> 31) != 0)
{
@@ -107,17 +108,17 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
result = memoryManager.MapIoMemory(address, size, perm);
}
- if (result != KernelResult.Success)
+ if (result != Result.Success)
{
return result;
}
}
}
- return KernelResult.Success;
+ return Result.Success;
}
- private KernelResult ParseCapability(int cap, ref int mask0, ref int mask1, KPageTableBase memoryManager)
+ private Result ParseCapability(int cap, ref int mask0, ref int mask1, KPageTableBase memoryManager)
{
int code = (cap + 1) & ~cap;
@@ -127,7 +128,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
}
else if (code == 0)
{
- return KernelResult.Success;
+ return Result.Success;
}
int codeMask = 1 << (32 - BitOperations.LeadingZeroCount((uint)code + 1));
@@ -300,7 +301,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
default: return KernelResult.InvalidCapability;
}
- return KernelResult.Success;
+ return Result.Success;
}
private static ulong GetMaskFromMinMax(int min, int max)