aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/OsHle/Svc/SvcSystem.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-03-05 16:18:37 -0300
committergdkchan <gab.dark.100@gmail.com>2018-03-05 16:18:37 -0300
commit59d1b2ad83385dad49cf930e826ce0693b9cee2c (patch)
tree3a5cf63453273d8469a63c673dc3929c0d0948fa /Ryujinx.Core/OsHle/Svc/SvcSystem.cs
parent0e343a748d9dcfe50b885b8c0c5e886bc44080ac (diff)
Add MUL (vector by element), fix FCVTN, make svcs use MakeError too
Diffstat (limited to 'Ryujinx.Core/OsHle/Svc/SvcSystem.cs')
-rw-r--r--Ryujinx.Core/OsHle/Svc/SvcSystem.cs22
1 files changed, 12 insertions, 10 deletions
diff --git a/Ryujinx.Core/OsHle/Svc/SvcSystem.cs b/Ryujinx.Core/OsHle/Svc/SvcSystem.cs
index d0459f2f..8a0a3917 100644
--- a/Ryujinx.Core/OsHle/Svc/SvcSystem.cs
+++ b/Ryujinx.Core/OsHle/Svc/SvcSystem.cs
@@ -7,6 +7,8 @@ using Ryujinx.Core.OsHle.IpcServices;
using System;
using System.Threading;
+using static Ryujinx.Core.OsHle.ErrorCode;
+
namespace Ryujinx.Core.OsHle.Svc
{
partial class SvcHandler
@@ -26,7 +28,7 @@ namespace Ryujinx.Core.OsHle.Svc
//TODO: Implement events.
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
private void SvcCloseHandle(AThreadState ThreadState)
@@ -35,7 +37,7 @@ namespace Ryujinx.Core.OsHle.Svc
Ns.Os.CloseHandle(Handle);
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
private void SvcResetSignal(AThreadState ThreadState)
@@ -44,7 +46,7 @@ namespace Ryujinx.Core.OsHle.Svc
//TODO: Implement events.
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
private void SvcWaitSynchronization(AThreadState ThreadState)
@@ -60,7 +62,7 @@ namespace Ryujinx.Core.OsHle.Svc
Process.Scheduler.Suspend(CurrThread.ProcessorId);
Process.Scheduler.Resume(CurrThread);
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
private void SvcGetSystemTick(AThreadState ThreadState)
@@ -81,7 +83,7 @@ namespace Ryujinx.Core.OsHle.Svc
HSession Session = new HSession(ServiceFactory.MakeService(Name));
ThreadState.X1 = (ulong)Ns.Os.Handles.GenerateId(Session);
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
private void SvcSendSyncRequest(AThreadState ThreadState)
@@ -127,11 +129,11 @@ namespace Ryujinx.Core.OsHle.Svc
byte[] Response = AMemoryHelper.ReadBytes(Memory, CmdPtr, (int)Size);
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
else
{
- ThreadState.X0 = (int)SvcResult.ErrBadIpcReq;
+ ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidIpcReq);
}
Thread.Yield();
@@ -157,7 +159,7 @@ namespace Ryujinx.Core.OsHle.Svc
Logging.Info($"SvcOutputDebugString: {Str}");
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
private void SvcGetInfo(AThreadState ThreadState)
@@ -171,7 +173,7 @@ namespace Ryujinx.Core.OsHle.Svc
if (InfoType == 18 ||
InfoType == 19)
{
- ThreadState.X0 = (int)SvcResult.ErrBadInfo;
+ ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidInfo);
return;
}
@@ -233,7 +235,7 @@ namespace Ryujinx.Core.OsHle.Svc
default: throw new NotImplementedException($"SvcGetInfo: {InfoType} {Handle} {InfoId}");
}
- ThreadState.X0 = (int)SvcResult.Success;
+ ThreadState.X0 = 0;
}
}
}