Move logging to Ryujinx.Common and make it a static class (#413)

This commit is contained in:
ReinUsesLisp 2018-10-17 14:15:50 -03:00 committed by gdkchan
parent 9b19ea3c87
commit b3a4662be1
61 changed files with 612 additions and 585 deletions

View file

@ -9,4 +9,8 @@
<PackageReference Include="OpenTK.NetStandard" Version="1.0.4" /> <PackageReference Include="OpenTK.NetStandard" Version="1.0.4" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
</ItemGroup>
</Project> </Project>

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.Logging namespace Ryujinx.Common.Logging
{ {
public enum LogClass public enum LogClass
{ {

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.Logging namespace Ryujinx.Common.Logging
{ {
public class LogEventArgs : EventArgs public class LogEventArgs : EventArgs
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.Logging namespace Ryujinx.Common.Logging
{ {
public enum LogLevel public enum LogLevel
{ {

View file

@ -2,18 +2,18 @@ using System;
using System.Diagnostics; using System.Diagnostics;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
namespace Ryujinx.HLE.Logging namespace Ryujinx.Common.Logging
{ {
public class Logger public static class Logger
{ {
private bool[] EnabledLevels; private static bool[] EnabledLevels;
private bool[] EnabledClasses; private static bool[] EnabledClasses;
public event EventHandler<LogEventArgs> Updated; public static event EventHandler<LogEventArgs> Updated;
private Stopwatch Time; private static Stopwatch Time;
public Logger() static Logger()
{ {
EnabledLevels = new bool[Enum.GetNames(typeof(LogLevel)).Length]; EnabledLevels = new bool[Enum.GetNames(typeof(LogLevel)).Length];
EnabledClasses = new bool[Enum.GetNames(typeof(LogClass)).Length]; EnabledClasses = new bool[Enum.GetNames(typeof(LogClass)).Length];
@ -33,50 +33,50 @@ namespace Ryujinx.HLE.Logging
Time.Start(); Time.Start();
} }
public void SetEnable(LogLevel Level, bool Enabled) public static void SetEnable(LogLevel Level, bool Enabled)
{ {
EnabledLevels[(int)Level] = Enabled; EnabledLevels[(int)Level] = Enabled;
} }
public void SetEnable(LogClass Class, bool Enabled) public static void SetEnable(LogClass Class, bool Enabled)
{ {
EnabledClasses[(int)Class] = Enabled; EnabledClasses[(int)Class] = Enabled;
} }
internal void PrintDebug(LogClass Class, string Message, [CallerMemberName] string Caller = "") public static void PrintDebug(LogClass Class, string Message, [CallerMemberName] string Caller = "")
{ {
Print(LogLevel.Debug, Class, GetFormattedMessage(Class, Message, Caller)); Print(LogLevel.Debug, Class, GetFormattedMessage(Class, Message, Caller));
} }
internal void PrintStub(LogClass Class, string Message, [CallerMemberName] string Caller = "") public static void PrintStub(LogClass Class, string Message, [CallerMemberName] string Caller = "")
{ {
Print(LogLevel.Stub, Class, GetFormattedMessage(Class, Message, Caller)); Print(LogLevel.Stub, Class, GetFormattedMessage(Class, Message, Caller));
} }
internal void PrintInfo(LogClass Class, string Message, [CallerMemberName] string Caller = "") public static void PrintInfo(LogClass Class, string Message, [CallerMemberName] string Caller = "")
{ {
Print(LogLevel.Info, Class, GetFormattedMessage(Class, Message, Caller)); Print(LogLevel.Info, Class, GetFormattedMessage(Class, Message, Caller));
} }
internal void PrintWarning(LogClass Class, string Message, [CallerMemberName] string Caller = "") public static void PrintWarning(LogClass Class, string Message, [CallerMemberName] string Caller = "")
{ {
Print(LogLevel.Warning, Class, GetFormattedMessage(Class, Message, Caller)); Print(LogLevel.Warning, Class, GetFormattedMessage(Class, Message, Caller));
} }
internal void PrintError(LogClass Class, string Message, [CallerMemberName] string Caller = "") public static void PrintError(LogClass Class, string Message, [CallerMemberName] string Caller = "")
{ {
Print(LogLevel.Error, Class, GetFormattedMessage(Class, Message, Caller)); Print(LogLevel.Error, Class, GetFormattedMessage(Class, Message, Caller));
} }
private void Print(LogLevel Level, LogClass Class, string Message) private static void Print(LogLevel Level, LogClass Class, string Message)
{ {
if (EnabledLevels[(int)Level] && EnabledClasses[(int)Class]) if (EnabledLevels[(int)Level] && EnabledClasses[(int)Class])
{ {
Updated?.Invoke(this, new LogEventArgs(Level, Time.Elapsed, Message)); Updated?.Invoke(null, new LogEventArgs(Level, Time.Elapsed, Message));
} }
} }
private string GetFormattedMessage(LogClass Class, string Message, string Caller) private static string GetFormattedMessage(LogClass Class, string Message, string Caller)
{ {
return $"{Class} {Caller}: {Message}"; return $"{Class} {Caller}: {Message}";
} }

View file

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeIdentifiers>win10-x64;osx-x64;linux-x64</RuntimeIdentifiers>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
</Project>

View file

@ -19,6 +19,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\ChocolArm64\ChocolArm64.csproj" /> <ProjectReference Include="..\ChocolArm64\ChocolArm64.csproj" />
<ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -1,10 +1,10 @@
using LibHac; using LibHac;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Font; using Ryujinx.HLE.HOS.Font;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Loaders.Executables; using Ryujinx.HLE.Loaders.Executables;
using Ryujinx.HLE.Loaders.Npdm; using Ryujinx.HLE.Loaders.Npdm;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
@ -104,7 +104,7 @@ namespace Ryujinx.HLE.HOS
if (File.Exists(NpdmFileName)) if (File.Exists(NpdmFileName))
{ {
Device.Log.PrintInfo(LogClass.Loader, $"Loading main.npdm..."); Logger.PrintInfo(LogClass.Loader, $"Loading main.npdm...");
using (FileStream Input = new FileStream(NpdmFileName, FileMode.Open)) using (FileStream Input = new FileStream(NpdmFileName, FileMode.Open))
{ {
@ -113,7 +113,7 @@ namespace Ryujinx.HLE.HOS
} }
else else
{ {
Device.Log.PrintWarning(LogClass.Loader, $"NPDM file not found, using default values!"); Logger.PrintWarning(LogClass.Loader, $"NPDM file not found, using default values!");
} }
Process MainProcess = MakeProcess(MetaData); Process MainProcess = MakeProcess(MetaData);
@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS
continue; continue;
} }
Device.Log.PrintInfo(LogClass.Loader, $"Loading {Path.GetFileNameWithoutExtension(File)}..."); Logger.PrintInfo(LogClass.Loader, $"Loading {Path.GetFileNameWithoutExtension(File)}...");
using (FileStream Input = new FileStream(File, FileMode.Open)) using (FileStream Input = new FileStream(File, FileMode.Open))
{ {
@ -168,7 +168,7 @@ namespace Ryujinx.HLE.HOS
if (MainNca == null) if (MainNca == null)
{ {
Device.Log.PrintError(LogClass.Loader, "Unable to load XCI"); Logger.PrintError(LogClass.Loader, "Unable to load XCI");
return; return;
} }
@ -212,7 +212,7 @@ namespace Ryujinx.HLE.HOS
if (MainNca == null) if (MainNca == null)
{ {
Device.Log.PrintError(LogClass.Loader, "Could not find an Application NCA in the provided XCI file"); Logger.PrintError(LogClass.Loader, "Could not find an Application NCA in the provided XCI file");
} }
MainNca.SetBaseNca(PatchNca); MainNca.SetBaseNca(PatchNca);
@ -292,7 +292,7 @@ namespace Ryujinx.HLE.HOS
return; return;
} }
Device.Log.PrintError(LogClass.Loader, "Could not find an Application NCA in the provided NSP file"); Logger.PrintError(LogClass.Loader, "Could not find an Application NCA in the provided NSP file");
} }
public void LoadNca(Nca MainNca, Nca ControlNca) public void LoadNca(Nca MainNca, Nca ControlNca)
@ -302,14 +302,14 @@ namespace Ryujinx.HLE.HOS
if (ExefsSection == null) if (ExefsSection == null)
{ {
Device.Log.PrintError(LogClass.Loader, "No ExeFS found in NCA"); Logger.PrintError(LogClass.Loader, "No ExeFS found in NCA");
return; return;
} }
if (RomfsSection == null) if (RomfsSection == null)
{ {
Device.Log.PrintWarning(LogClass.Loader, "No RomFS found in NCA"); Logger.PrintWarning(LogClass.Loader, "No RomFS found in NCA");
} }
else else
{ {
@ -326,13 +326,13 @@ namespace Ryujinx.HLE.HOS
if (Exefs.FileExists("main.npdm")) if (Exefs.FileExists("main.npdm"))
{ {
Device.Log.PrintInfo(LogClass.Loader, "Loading main.npdm..."); Logger.PrintInfo(LogClass.Loader, "Loading main.npdm...");
MetaData = new Npdm(Exefs.OpenFile("main.npdm")); MetaData = new Npdm(Exefs.OpenFile("main.npdm"));
} }
else else
{ {
Device.Log.PrintWarning(LogClass.Loader, $"NPDM file not found, using default values!"); Logger.PrintWarning(LogClass.Loader, $"NPDM file not found, using default values!");
} }
Process MainProcess = MakeProcess(MetaData); Process MainProcess = MakeProcess(MetaData);
@ -346,7 +346,7 @@ namespace Ryujinx.HLE.HOS
continue; continue;
} }
Device.Log.PrintInfo(LogClass.Loader, $"Loading {Filename}..."); Logger.PrintInfo(LogClass.Loader, $"Loading {Filename}...");
string Name = Path.GetFileNameWithoutExtension(File.Name); string Name = Path.GetFileNameWithoutExtension(File.Name);

View file

@ -1,8 +1,8 @@
using ChocolArm64.Events; using ChocolArm64.Events;
using ChocolArm64.Memory; using ChocolArm64.Memory;
using ChocolArm64.State; using ChocolArm64.State;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -109,11 +109,11 @@ namespace Ryujinx.HLE.HOS.Kernel
if (SvcFuncs.TryGetValue(e.Id, out SvcFunc Func)) if (SvcFuncs.TryGetValue(e.Id, out SvcFunc Func))
{ {
Device.Log.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} called."); Logger.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} called.");
Func(ThreadState); Func(ThreadState);
Device.Log.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} ended."); Logger.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} ended.");
} }
else else
{ {

View file

@ -1,5 +1,5 @@
using ChocolArm64.State; using ChocolArm64.State;
using Ryujinx.HLE.Logging; using Ryujinx.Common.Logging;
using static Ryujinx.HLE.HOS.ErrorCode; using static Ryujinx.HLE.HOS.ErrorCode;
@ -13,7 +13,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((Size & 0xFFFFFFFE001FFFFF) != 0) if ((Size & 0xFFFFFFFE001FFFFF) != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Heap size 0x{Size:x16} is not aligned!"); Logger.PrintWarning(LogClass.KernelSvc, $"Heap size 0x{Size:x16} is not aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -30,7 +30,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
} }
@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Position)) if (!PageAligned(Position))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -50,7 +50,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -65,7 +65,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Attributes != AttributeMask || if (Attributes != AttributeMask ||
(Attributes | MemoryAttribute.Uncached) != MemoryAttribute.Uncached) (Attributes | MemoryAttribute.Uncached) != MemoryAttribute.Uncached)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Invalid memory attributes!"); Logger.PrintWarning(LogClass.KernelSvc, "Invalid memory attributes!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMaskValue); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMaskValue);
@ -80,7 +80,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
else else
{ {
@ -98,7 +98,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Src | Dst)) if (!PageAligned(Src | Dst))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -107,7 +107,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -116,7 +116,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((ulong)(Src + Size) <= (ulong)Src || (ulong)(Dst + Size) <= (ulong)Dst) if ((ulong)(Src + Size) <= (ulong)Src || (ulong)(Dst + Size) <= (ulong)Dst)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!"); Logger.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -125,7 +125,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideAddrSpace(Src, Size)) if (!InsideAddrSpace(Src, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!"); Logger.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -134,7 +134,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideNewMapRegion(Dst, Size)) if (!InsideNewMapRegion(Dst, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!"); Logger.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMemRange); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMemRange);
@ -145,7 +145,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -159,7 +159,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Src | Dst)) if (!PageAligned(Src | Dst))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -168,7 +168,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -177,7 +177,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((ulong)(Src + Size) <= (ulong)Src || (ulong)(Dst + Size) <= (ulong)Dst) if ((ulong)(Src + Size) <= (ulong)Src || (ulong)(Dst + Size) <= (ulong)Dst)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!"); Logger.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -186,7 +186,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideAddrSpace(Src, Size)) if (!InsideAddrSpace(Src, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!"); Logger.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -195,7 +195,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideNewMapRegion(Dst, Size)) if (!InsideNewMapRegion(Dst, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!"); Logger.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMemRange); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMemRange);
@ -206,7 +206,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -240,7 +240,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Position)) if (!PageAligned(Position))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -249,7 +249,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -258,7 +258,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((ulong)(Position + Size) <= (ulong)Position) if ((ulong)(Position + Size) <= (ulong)Position)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -269,7 +269,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((Permission | MemoryPermission.Write) != MemoryPermission.ReadAndWrite) if ((Permission | MemoryPermission.Write) != MemoryPermission.ReadAndWrite)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPermission); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPermission);
@ -280,7 +280,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (SharedMemory == null) if (SharedMemory == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -289,7 +289,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideAddrSpace(Position, Size) || InsideMapRegion(Position, Size) || InsideHeapRegion(Position, Size)) if (!InsideAddrSpace(Position, Size) || InsideMapRegion(Position, Size) || InsideHeapRegion(Position, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -298,7 +298,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (SharedMemory.Size != Size) if (SharedMemory.Size != Size)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} does not match shared memory size 0x{SharedMemory.Size:16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} does not match shared memory size 0x{SharedMemory.Size:16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -309,7 +309,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -323,7 +323,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Position)) if (!PageAligned(Position))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -332,7 +332,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -341,7 +341,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((ulong)(Position + Size) <= (ulong)Position) if ((ulong)(Position + Size) <= (ulong)Position)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -352,7 +352,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (SharedMemory == null) if (SharedMemory == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -361,7 +361,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideAddrSpace(Position, Size) || InsideMapRegion(Position, Size) || InsideHeapRegion(Position, Size)) if (!InsideAddrSpace(Position, Size) || InsideMapRegion(Position, Size) || InsideHeapRegion(Position, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -372,7 +372,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -385,7 +385,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Position)) if (!PageAligned(Position))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -394,7 +394,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -403,7 +403,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((ulong)(Position + Size) <= (ulong)Position) if ((ulong)(Position + Size) <= (ulong)Position)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -414,7 +414,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Permission > MemoryPermission.ReadAndWrite || Permission == MemoryPermission.Write) if (Permission > MemoryPermission.ReadAndWrite || Permission == MemoryPermission.Write)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPermission); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPermission);
@ -438,7 +438,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Position)) if (!PageAligned(Position))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -447,7 +447,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -456,7 +456,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((ulong)(Position + Size) <= (ulong)Position) if ((ulong)(Position + Size) <= (ulong)Position)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -465,7 +465,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideAddrSpace(Position, Size)) if (!InsideAddrSpace(Position, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -476,7 +476,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -489,7 +489,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Position)) if (!PageAligned(Position))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!"); Logger.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -498,7 +498,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!PageAligned(Size) || Size == 0) if (!PageAligned(Size) || Size == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!"); Logger.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@ -507,7 +507,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((ulong)(Position + Size) <= (ulong)Position) if ((ulong)(Position + Size) <= (ulong)Position)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -516,7 +516,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (!InsideAddrSpace(Position, Size)) if (!InsideAddrSpace(Position, Size))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -527,7 +527,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;

View file

@ -1,9 +1,9 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using ChocolArm64.State; using ChocolArm64.State;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.Exceptions; using Ryujinx.HLE.Exceptions;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Services; using Ryujinx.HLE.HOS.Services;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Threading; using System.Threading;
@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != KernelResult.Success) if (Result != KernelResult.Success)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Operation failed with error: " + Result + "!"); Logger.PrintWarning(LogClass.KernelSvc, "Operation failed with error: " + Result + "!");
} }
return Result; return Result;
@ -76,7 +76,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != KernelResult.Success) if (Result != KernelResult.Success)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Operation failed with error: " + Result + "!"); Logger.PrintWarning(LogClass.KernelSvc, "Operation failed with error: " + Result + "!");
} }
return Result; return Result;
@ -92,7 +92,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Obj == null) if (Obj == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -136,11 +136,11 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result == KernelResult.InvalidState) if (Result == KernelResult.InvalidState)
{ {
Device.Log.PrintDebug(LogClass.KernelSvc, "Operation failed with error: " + Result + "!"); Logger.PrintDebug(LogClass.KernelSvc, "Operation failed with error: " + Result + "!");
} }
else if (Result != KernelResult.Success) else if (Result != KernelResult.Success)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, "Operation failed with error: " + Result + "!"); Logger.PrintWarning(LogClass.KernelSvc, "Operation failed with error: " + Result + "!");
} }
return Result; return Result;
@ -220,7 +220,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid session handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid session handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
} }
@ -255,7 +255,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else else
{ {
Device.Log.PrintInfo(LogClass.KernelSvc, "Debugger triggered"); Logger.PrintInfo(LogClass.KernelSvc, "Debugger triggered");
Process.PrintStackTrace(ThreadState); Process.PrintStackTrace(ThreadState);
} }
} }
@ -267,7 +267,7 @@ namespace Ryujinx.HLE.HOS.Kernel
string Str = AMemoryHelper.ReadAsciiString(Memory, Position, Size); string Str = AMemoryHelper.ReadAsciiString(Memory, Position, Size);
Device.Log.PrintWarning(LogClass.KernelSvc, Str); Logger.PrintWarning(LogClass.KernelSvc, Str);
ThreadState.X0 = 0; ThreadState.X0 = 0;
} }

View file

@ -1,5 +1,5 @@
using ChocolArm64.State; using ChocolArm64.State;
using Ryujinx.HLE.Logging; using Ryujinx.Common.Logging;
using static Ryujinx.HLE.HOS.ErrorCode; using static Ryujinx.HLE.HOS.ErrorCode;
@ -17,7 +17,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if ((uint)Priority > 0x3f) if ((uint)Priority > 0x3f)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid priority 0x{Priority:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid priority 0x{Priority:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPriority); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPriority);
@ -31,7 +31,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else if ((uint)ProcessorId > 3) else if ((uint)ProcessorId > 3)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{ProcessorId:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{ProcessorId:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidCoreId); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidCoreId);
@ -61,14 +61,14 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
} }
@ -87,7 +87,7 @@ namespace Ryujinx.HLE.HOS.Kernel
{ {
long Timeout = (long)ThreadState.X0; long Timeout = (long)ThreadState.X0;
Device.Log.PrintDebug(LogClass.KernelSvc, "Timeout = 0x" + Timeout.ToString("x16")); Logger.PrintDebug(LogClass.KernelSvc, "Timeout = 0x" + Timeout.ToString("x16"));
KThread CurrentThread = System.Scheduler.GetCurrentThread(); KThread CurrentThread = System.Scheduler.GetCurrentThread();
@ -121,7 +121,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
} }
@ -132,7 +132,7 @@ namespace Ryujinx.HLE.HOS.Kernel
int Handle = (int)ThreadState.X0; int Handle = (int)ThreadState.X0;
int Priority = (int)ThreadState.X1; int Priority = (int)ThreadState.X1;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"Handle = 0x" + Handle .ToString("x8") + ", " + "Handle = 0x" + Handle .ToString("x8") + ", " +
"Priority = 0x" + Priority.ToString("x8")); "Priority = 0x" + Priority.ToString("x8"));
@ -142,7 +142,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Thread == null) if (Thread == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -158,7 +158,7 @@ namespace Ryujinx.HLE.HOS.Kernel
{ {
int Handle = (int)ThreadState.X2; int Handle = (int)ThreadState.X2;
Device.Log.PrintDebug(LogClass.KernelSvc, "Handle = 0x" + Handle.ToString("x8")); Logger.PrintDebug(LogClass.KernelSvc, "Handle = 0x" + Handle.ToString("x8"));
KThread Thread = Process.HandleTable.GetKThread(Handle); KThread Thread = Process.HandleTable.GetKThread(Handle);
@ -170,7 +170,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
} }
@ -182,7 +182,7 @@ namespace Ryujinx.HLE.HOS.Kernel
int PrefferedCore = (int)ThreadState.X1; int PrefferedCore = (int)ThreadState.X1;
long AffinityMask = (long)ThreadState.X2; long AffinityMask = (long)ThreadState.X2;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"Handle = 0x" + Handle .ToString("x8") + ", " + "Handle = 0x" + Handle .ToString("x8") + ", " +
"PrefferedCore = 0x" + PrefferedCore.ToString("x8") + ", " + "PrefferedCore = 0x" + PrefferedCore.ToString("x8") + ", " +
"AffinityMask = 0x" + AffinityMask .ToString("x16")); "AffinityMask = 0x" + AffinityMask .ToString("x16"));
@ -202,7 +202,7 @@ namespace Ryujinx.HLE.HOS.Kernel
{ {
if ((PrefferedCore | 2) != -1) if ((PrefferedCore | 2) != -1)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{PrefferedCore:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{PrefferedCore:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidCoreId); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidCoreId);
@ -211,7 +211,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else if ((AffinityMask & (1 << PrefferedCore)) == 0) else if ((AffinityMask & (1 << PrefferedCore)) == 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core mask 0x{AffinityMask:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid core mask 0x{AffinityMask:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMaskValue); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMaskValue);
@ -223,7 +223,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Thread == null) if (Thread == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -234,7 +234,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -258,7 +258,7 @@ namespace Ryujinx.HLE.HOS.Kernel
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
} }
@ -273,7 +273,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Thread == null) if (Thread == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -282,7 +282,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Thread.Owner != Process) if (Thread.Owner != Process)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread owner process!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread owner process!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -293,7 +293,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -308,7 +308,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Thread == null) if (Thread == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -317,7 +317,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Process.GetThread(ThreadState.Tpidr) == Thread) if (Process.GetThread(ThreadState.Tpidr) == Thread)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Thread handle 0x{Handle:x8} is current thread!"); Logger.PrintWarning(LogClass.KernelSvc, $"Thread handle 0x{Handle:x8} is current thread!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidThread); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidThread);

View file

@ -1,5 +1,5 @@
using ChocolArm64.State; using ChocolArm64.State;
using Ryujinx.HLE.Logging; using Ryujinx.Common.Logging;
using System.Collections.Generic; using System.Collections.Generic;
using static Ryujinx.HLE.HOS.ErrorCode; using static Ryujinx.HLE.HOS.ErrorCode;
@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Kernel
int HandlesCount = (int)ThreadState.X2; int HandlesCount = (int)ThreadState.X2;
long Timeout = (long)ThreadState.X3; long Timeout = (long)ThreadState.X3;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"HandlesPtr = 0x" + HandlesPtr .ToString("x16") + ", " + "HandlesPtr = 0x" + HandlesPtr .ToString("x16") + ", " +
"HandlesCount = 0x" + HandlesCount.ToString("x8") + ", " + "HandlesCount = 0x" + HandlesCount.ToString("x8") + ", " +
"Timeout = 0x" + Timeout .ToString("x16")); "Timeout = 0x" + Timeout .ToString("x16"));
@ -53,11 +53,11 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result == MakeError(ErrorModule.Kernel, KernelErr.Timeout) || if (Result == MakeError(ErrorModule.Kernel, KernelErr.Timeout) ||
Result == MakeError(ErrorModule.Kernel, KernelErr.Cancelled)) Result == MakeError(ErrorModule.Kernel, KernelErr.Cancelled))
{ {
Device.Log.PrintDebug(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintDebug(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
} }
@ -69,13 +69,13 @@ namespace Ryujinx.HLE.HOS.Kernel
{ {
int ThreadHandle = (int)ThreadState.X0; int ThreadHandle = (int)ThreadState.X0;
Device.Log.PrintDebug(LogClass.KernelSvc, "ThreadHandle = 0x" + ThreadHandle.ToString("x8")); Logger.PrintDebug(LogClass.KernelSvc, "ThreadHandle = 0x" + ThreadHandle.ToString("x8"));
KThread Thread = Process.HandleTable.GetKThread(ThreadHandle); KThread Thread = Process.HandleTable.GetKThread(ThreadHandle);
if (Thread == null) if (Thread == null)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{ThreadHandle:x8}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{ThreadHandle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@ -93,14 +93,14 @@ namespace Ryujinx.HLE.HOS.Kernel
long MutexAddress = (long)ThreadState.X1; long MutexAddress = (long)ThreadState.X1;
int RequesterHandle = (int)ThreadState.X2; int RequesterHandle = (int)ThreadState.X2;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"OwnerHandle = 0x" + OwnerHandle .ToString("x8") + ", " + "OwnerHandle = 0x" + OwnerHandle .ToString("x8") + ", " +
"MutexAddress = 0x" + MutexAddress .ToString("x16") + ", " + "MutexAddress = 0x" + MutexAddress .ToString("x16") + ", " +
"RequesterHandle = 0x" + RequesterHandle.ToString("x8")); "RequesterHandle = 0x" + RequesterHandle.ToString("x8"));
if (IsPointingInsideKernel(MutexAddress)) if (IsPointingInsideKernel(MutexAddress))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -109,7 +109,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsAddressNotWordAligned(MutexAddress)) if (IsAddressNotWordAligned(MutexAddress))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -125,7 +125,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -135,11 +135,11 @@ namespace Ryujinx.HLE.HOS.Kernel
{ {
long MutexAddress = (long)ThreadState.X0; long MutexAddress = (long)ThreadState.X0;
Device.Log.PrintDebug(LogClass.KernelSvc, "MutexAddress = 0x" + MutexAddress.ToString("x16")); Logger.PrintDebug(LogClass.KernelSvc, "MutexAddress = 0x" + MutexAddress.ToString("x16"));
if (IsPointingInsideKernel(MutexAddress)) if (IsPointingInsideKernel(MutexAddress))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -148,7 +148,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsAddressNotWordAligned(MutexAddress)) if (IsAddressNotWordAligned(MutexAddress))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -159,7 +159,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -172,7 +172,7 @@ namespace Ryujinx.HLE.HOS.Kernel
int ThreadHandle = (int)ThreadState.X2; int ThreadHandle = (int)ThreadState.X2;
long Timeout = (long)ThreadState.X3; long Timeout = (long)ThreadState.X3;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"MutexAddress = 0x" + MutexAddress .ToString("x16") + ", " + "MutexAddress = 0x" + MutexAddress .ToString("x16") + ", " +
"CondVarAddress = 0x" + CondVarAddress.ToString("x16") + ", " + "CondVarAddress = 0x" + CondVarAddress.ToString("x16") + ", " +
"ThreadHandle = 0x" + ThreadHandle .ToString("x8") + ", " + "ThreadHandle = 0x" + ThreadHandle .ToString("x8") + ", " +
@ -180,7 +180,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsPointingInsideKernel(MutexAddress)) if (IsPointingInsideKernel(MutexAddress))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -189,7 +189,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsAddressNotWordAligned(MutexAddress)) if (IsAddressNotWordAligned(MutexAddress))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -207,11 +207,11 @@ namespace Ryujinx.HLE.HOS.Kernel
{ {
if (Result == MakeError(ErrorModule.Kernel, KernelErr.Timeout)) if (Result == MakeError(ErrorModule.Kernel, KernelErr.Timeout))
{ {
Device.Log.PrintDebug(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintDebug(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
else else
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
} }
@ -223,7 +223,7 @@ namespace Ryujinx.HLE.HOS.Kernel
long Address = (long)ThreadState.X0; long Address = (long)ThreadState.X0;
int Count = (int)ThreadState.X1; int Count = (int)ThreadState.X1;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"Address = 0x" + Address.ToString("x16") + ", " + "Address = 0x" + Address.ToString("x16") + ", " +
"Count = 0x" + Count .ToString("x8")); "Count = 0x" + Count .ToString("x8"));
@ -239,7 +239,7 @@ namespace Ryujinx.HLE.HOS.Kernel
int Value = (int)ThreadState.X2; int Value = (int)ThreadState.X2;
long Timeout = (long)ThreadState.X3; long Timeout = (long)ThreadState.X3;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"Address = 0x" + Address.ToString("x16") + ", " + "Address = 0x" + Address.ToString("x16") + ", " +
"Type = " + Type .ToString() + ", " + "Type = " + Type .ToString() + ", " +
"Value = 0x" + Value .ToString("x8") + ", " + "Value = 0x" + Value .ToString("x8") + ", " +
@ -247,7 +247,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsPointingInsideKernel(Address)) if (IsPointingInsideKernel(Address))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address 0x{Address:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid address 0x{Address:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -256,7 +256,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsAddressNotWordAligned(Address)) if (IsAddressNotWordAligned(Address))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned address 0x{Address:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Unaligned address 0x{Address:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -286,7 +286,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;
@ -299,7 +299,7 @@ namespace Ryujinx.HLE.HOS.Kernel
int Value = (int)ThreadState.X2; int Value = (int)ThreadState.X2;
int Count = (int)ThreadState.X3; int Count = (int)ThreadState.X3;
Device.Log.PrintDebug(LogClass.KernelSvc, Logger.PrintDebug(LogClass.KernelSvc,
"Address = 0x" + Address.ToString("x16") + ", " + "Address = 0x" + Address.ToString("x16") + ", " +
"Type = " + Type .ToString() + ", " + "Type = " + Type .ToString() + ", " +
"Value = 0x" + Value .ToString("x8") + ", " + "Value = 0x" + Value .ToString("x8") + ", " +
@ -307,7 +307,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsPointingInsideKernel(Address)) if (IsPointingInsideKernel(Address))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address 0x{Address:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Invalid address 0x{Address:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@ -316,7 +316,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (IsAddressNotWordAligned(Address)) if (IsAddressNotWordAligned(Address))
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned address 0x{Address:x16}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Unaligned address 0x{Address:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress); ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@ -346,7 +346,7 @@ namespace Ryujinx.HLE.HOS.Kernel
if (Result != 0) if (Result != 0)
{ {
Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!"); Logger.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
} }
ThreadState.X0 = (ulong)Result; ThreadState.X0 = (ulong)Result;

View file

@ -3,6 +3,7 @@ using ChocolArm64.Events;
using ChocolArm64.Memory; using ChocolArm64.Memory;
using ChocolArm64.State; using ChocolArm64.State;
using LibHac; using LibHac;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.Exceptions; using Ryujinx.HLE.Exceptions;
using Ryujinx.HLE.HOS.Diagnostics.Demangler; using Ryujinx.HLE.HOS.Diagnostics.Demangler;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
@ -11,7 +12,6 @@ using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Loaders; using Ryujinx.HLE.Loaders;
using Ryujinx.HLE.Loaders.Executables; using Ryujinx.HLE.Loaders.Executables;
using Ryujinx.HLE.Loaders.Npdm; using Ryujinx.HLE.Loaders.Npdm;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
@ -118,7 +118,7 @@ namespace Ryujinx.HLE.HOS
throw new ObjectDisposedException(nameof(Process)); throw new ObjectDisposedException(nameof(Process));
} }
Device.Log.PrintInfo(LogClass.Loader, $"Image base at 0x{ExecutableBase:x16}."); Logger.PrintInfo(LogClass.Loader, $"Image base at 0x{ExecutableBase:x16}.");
Executable Executable = new Executable(Program, MemoryManager, Memory, ExecutableBase); Executable Executable = new Executable(Program, MemoryManager, Memory, ExecutableBase);
@ -319,7 +319,7 @@ namespace Ryujinx.HLE.HOS
string ExeNameWithAddr = $"{Exe.Name}:0x{Offset:x8}"; string ExeNameWithAddr = $"{Exe.Name}:0x{Offset:x8}";
Device.Log.PrintDebug(LogClass.Cpu, ExeNameWithAddr + " " + SubName); Logger.PrintDebug(LogClass.Cpu, ExeNameWithAddr + " " + SubName);
} }
private ATranslator GetTranslator() private ATranslator GetTranslator()
@ -374,7 +374,7 @@ namespace Ryujinx.HLE.HOS
FramePointer = Memory.ReadInt64(FramePointer); FramePointer = Memory.ReadInt64(FramePointer);
} }
Device.Log.PrintInfo(LogClass.Cpu, Trace.ToString()); Logger.PrintInfo(LogClass.Cpu, Trace.ToString());
} }
private bool TryGetSubName(Executable Exe, long Position, out string Name) private bool TryGetSubName(Executable Exe, long Position, out string Name)
@ -475,7 +475,7 @@ namespace Ryujinx.HLE.HOS
File.Delete(Executables[0].FilePath); File.Delete(Executables[0].FilePath);
} }
Device.Log.PrintInfo(LogClass.Loader, $"Process {ProcessId} exiting..."); Logger.PrintInfo(LogClass.Loader, $"Process {ProcessId} exiting...");
} }
public void Dispose() public void Dispose()

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System.Collections.Generic; using System.Collections.Generic;
@ -103,7 +103,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
if (!Context.Device.System.State.TryGetUser(Uuid, out UserProfile Profile)) if (!Context.Device.System.State.TryGetUser(Uuid, out UserProfile Profile))
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceAcc, $"User 0x{Uuid} not found!"); Logger.PrintWarning(LogClass.ServiceAcc, $"User 0x{Uuid} not found!");
return MakeError(ErrorModule.Account, AccErr.UserNotFound); return MakeError(ErrorModule.Account, AccErr.UserNotFound);
} }
@ -118,7 +118,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
{ {
long Unknown = Context.RequestData.ReadInt64(); long Unknown = Context.RequestData.ReadInt64();
Context.Device.Log.PrintStub(LogClass.ServiceAcc, $"Stubbed. Unknown: {Unknown}"); Logger.PrintStub(LogClass.ServiceAcc, $"Stubbed. Unknown: {Unknown}");
Context.ResponseData.Write(false); Context.ResponseData.Write(false);
@ -130,7 +130,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
{ {
bool Unknown = Context.RequestData.ReadBoolean(); bool Unknown = Context.RequestData.ReadBoolean();
Context.Device.Log.PrintStub(LogClass.ServiceAcc, $"Stubbed. Unknown: {Unknown}"); Logger.PrintStub(LogClass.ServiceAcc, $"Stubbed. Unknown: {Unknown}");
UserProfile Profile = Context.Device.System.State.LastOpenUser; UserProfile Profile = Context.Device.System.State.LastOpenUser;
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
{ {
long Unknown = Context.RequestData.ReadInt64(); long Unknown = Context.RequestData.ReadInt64();
Context.Device.Log.PrintStub(LogClass.ServiceAcc, $"Stubbed. Unknown: {Unknown}"); Logger.PrintStub(LogClass.ServiceAcc, $"Stubbed. Unknown: {Unknown}");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System.Collections.Generic; using System.Collections.Generic;
@ -27,7 +27,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
// CheckAvailability() // CheckAvailability()
public long CheckAvailability(ServiceCtx Context) public long CheckAvailability(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAcc, "Stubbed."); Logger.PrintStub(LogClass.ServiceAcc, "Stubbed.");
return 0; return 0;
} }
@ -37,7 +37,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
{ {
long NetworkServiceAccountId = 0xcafe; long NetworkServiceAccountId = 0xcafe;
Context.Device.Log.PrintStub(LogClass.ServiceAcc, $"Stubbed. NetworkServiceAccountId: {NetworkServiceAccountId}"); Logger.PrintStub(LogClass.ServiceAcc, $"Stubbed. NetworkServiceAccountId: {NetworkServiceAccountId}");
Context.ResponseData.Write(NetworkServiceAccountId); Context.ResponseData.Write(NetworkServiceAccountId);

View file

@ -1,7 +1,7 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -37,7 +37,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
public long Get(ServiceCtx Context) public long Get(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAcc, "Stubbed."); Logger.PrintStub(LogClass.ServiceAcc, "Stubbed.");
long Position = Context.Request.ReceiveBuff[0].Position; long Position = Context.Request.ReceiveBuff[0].Position;

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Am namespace Ryujinx.HLE.HOS.Services.Am
@ -39,7 +39,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
long UIdLow = Context.RequestData.ReadInt64(); long UIdLow = Context.RequestData.ReadInt64();
long UIdHigh = Context.RequestData.ReadInt64(); long UIdHigh = Context.RequestData.ReadInt64();
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
Context.ResponseData.Write(0L); Context.ResponseData.Write(0L);
@ -59,7 +59,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
string Result = GetFormattedErrorCode(ErrorCode); string Result = GetFormattedErrorCode(ErrorCode);
Context.Device.Log.PrintInfo(LogClass.ServiceAm, $"Result = 0x{ErrorCode:x8} ({Result})."); Logger.PrintInfo(LogClass.ServiceAm, $"Result = 0x{ErrorCode:x8} ({Result}).");
return 0; return 0;
} }
@ -90,7 +90,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
public long GetPseudoDeviceId(ServiceCtx Context) public long GetPseudoDeviceId(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
Context.ResponseData.Write(0L); Context.ResponseData.Write(0L);
Context.ResponseData.Write(0L); Context.ResponseData.Write(0L);
@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
public long InitializeGamePlayRecording(ServiceCtx Context) public long InitializeGamePlayRecording(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -109,7 +109,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
int State = Context.RequestData.ReadInt32(); int State = Context.RequestData.ReadInt32();
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Am namespace Ryujinx.HLE.HOS.Services.Am
@ -27,7 +27,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
float AppletVolume = Context.RequestData.ReadSingle(); float AppletVolume = Context.RequestData.ReadSingle();
float LibraryAppletVolume = Context.RequestData.ReadSingle(); float LibraryAppletVolume = Context.RequestData.ReadSingle();
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -36,7 +36,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
Context.ResponseData.Write(1f); Context.ResponseData.Write(1f);
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -45,7 +45,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
Context.ResponseData.Write(1f); Context.ResponseData.Write(1f);
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -55,7 +55,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
float Unknown0 = Context.RequestData.ReadSingle(); float Unknown0 = Context.RequestData.ReadSingle();
long Unknown1 = Context.RequestData.ReadInt64(); long Unknown1 = Context.RequestData.ReadInt64();
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -64,7 +64,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
float Unknown0 = Context.RequestData.ReadSingle(); float Unknown0 = Context.RequestData.ReadSingle();
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -85,7 +85,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
Context.ResponseData.Write((byte)0); //Unknown value. Context.ResponseData.Write((byte)0); //Unknown value.
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -28,7 +28,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
public long RequestToGetForeground(ServiceCtx Context) public long RequestToGetForeground(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -42,7 +42,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,6 +1,6 @@
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -39,28 +39,28 @@ namespace Ryujinx.HLE.HOS.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
public long Start(ServiceCtx Context) public long Start(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
public long GetResult(ServiceCtx Context) public long GetResult(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
public long PushInData(ServiceCtx Context) public long PushInData(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -41,21 +41,21 @@ namespace Ryujinx.HLE.HOS.Services.Am
public long Exit(ServiceCtx Context) public long Exit(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
public long LockExit(ServiceCtx Context) public long LockExit(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
public long UnlockExit(ServiceCtx Context) public long UnlockExit(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -71,7 +71,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -80,7 +80,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false; bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -89,7 +89,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false; bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -98,7 +98,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false; bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -109,7 +109,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
bool Flag2 = Context.RequestData.ReadByte() != 0 ? true : false; bool Flag2 = Context.RequestData.ReadByte() != 0 ? true : false;
bool Flag3 = Context.RequestData.ReadByte() != 0 ? true : false; bool Flag3 = Context.RequestData.ReadByte() != 0 ? true : false;
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -118,7 +118,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false; bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false; bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -136,7 +136,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
int Orientation = Context.RequestData.ReadInt32(); int Orientation = Context.RequestData.ReadInt32();
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -145,7 +145,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false; bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }
@ -155,7 +155,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
IdleTimeDetectionExtension = Context.RequestData.ReadInt32(); IdleTimeDetectionExtension = Context.RequestData.ReadInt32();
Context.Device.Log.PrintStub(LogClass.ServiceAm, $"Stubbed. IdleTimeDetectionExtension: {IdleTimeDetectionExtension}"); Logger.PrintStub(LogClass.ServiceAm, $"Stubbed. IdleTimeDetectionExtension: {IdleTimeDetectionExtension}");
return 0; return 0;
} }
@ -165,7 +165,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
Context.ResponseData.Write(IdleTimeDetectionExtension); Context.ResponseData.Write(IdleTimeDetectionExtension);
Context.Device.Log.PrintStub(LogClass.ServiceAm, $"Stubbed. IdleTimeDetectionExtension: {IdleTimeDetectionExtension}"); Logger.PrintStub(LogClass.ServiceAm, $"Stubbed. IdleTimeDetectionExtension: {IdleTimeDetectionExtension}");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Am namespace Ryujinx.HLE.HOS.Services.Am
@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
public long GetAppletResourceUserId(ServiceCtx Context) public long GetAppletResourceUserId(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
Context.ResponseData.Write(0L); Context.ResponseData.Write(0L);
@ -30,7 +30,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
public long AcquireForegroundRights(ServiceCtx Context) public long AcquireForegroundRights(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed."); Logger.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Apm namespace Ryujinx.HLE.HOS.Services.Apm
@ -33,7 +33,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
Context.ResponseData.Write((uint)PerformanceConfiguration.PerformanceConfiguration1); Context.ResponseData.Write((uint)PerformanceConfiguration.PerformanceConfiguration1);
Context.Device.Log.PrintStub(LogClass.ServiceApm, "Stubbed."); Logger.PrintStub(LogClass.ServiceApm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,9 +1,9 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.Audio; using Ryujinx.Audio;
using Ryujinx.Audio.Adpcm; using Ryujinx.Audio.Adpcm;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -107,7 +107,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{ {
Context.ResponseData.Write((int)PlayState); Context.ResponseData.Write((int)PlayState);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, $"Stubbed. Renderer State: {Enum.GetName(typeof(PlayState), PlayState)}"); Logger.PrintStub(LogClass.ServiceAudio, $"Stubbed. Renderer State: {Enum.GetName(typeof(PlayState), PlayState)}");
return 0; return 0;
} }
@ -246,7 +246,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
public long StartAudioRenderer(ServiceCtx Context) public long StartAudioRenderer(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
PlayState = PlayState.Playing; PlayState = PlayState.Playing;
@ -255,7 +255,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
public long StopAudioRenderer(ServiceCtx Context) public long StopAudioRenderer(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
PlayState = PlayState.Stopped; PlayState = PlayState.Stopped;

View file

@ -1,7 +1,7 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
@ -56,7 +56,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
if ((Position - BasePosition) + Buffer.Length > Size) if ((Position - BasePosition) + Buffer.Length > Size)
{ {
Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!"); Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
break; break;
} }
@ -80,7 +80,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
string DeviceName = Encoding.ASCII.GetString(DeviceNameBuffer); string DeviceName = Encoding.ASCII.GetString(DeviceNameBuffer);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0; return 0;
} }
@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
} }
else else
{ {
Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!"); Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
} }
return 0; return 0;
@ -115,7 +115,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0; return 0;
} }
@ -124,7 +124,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
{ {
Context.ResponseData.Write(2); Context.ResponseData.Write(2);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0; return 0;
} }
@ -145,7 +145,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
if ((Position - BasePosition) + Buffer.Length > Size) if ((Position - BasePosition) + Buffer.Length > Size)
{ {
Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!"); Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
break; break;
} }
@ -168,7 +168,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
string DeviceName = Encoding.UTF8.GetString(DeviceNameBuffer); string DeviceName = Encoding.UTF8.GetString(DeviceNameBuffer);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0; return 0;
} }
@ -177,7 +177,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
{ {
Context.ResponseData.Write(1f); Context.ResponseData.Write(1f);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0; return 0;
} }
@ -196,7 +196,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
} }
else else
{ {
Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!"); Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
} }
return 0; return 0;
@ -211,7 +211,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0; return 0;
} }
@ -225,7 +225,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); Logger.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,9 +1,9 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.Audio; using Ryujinx.Audio;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.HOS.Services.Aud.AudioOut; using Ryujinx.HLE.HOS.Services.Aud.AudioOut;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
@ -86,7 +86,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
} }
else else
{ {
Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!"); Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
} }
Context.ResponseData.Write(NameCount); Context.ResponseData.Write(NameCount);
@ -108,7 +108,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
if (DeviceName != DefaultAudioOutput) if (DeviceName != DefaultAudioOutput)
{ {
Context.Device.Log.PrintWarning(LogClass.Audio, "Invalid device name!"); Logger.PrintWarning(LogClass.Audio, "Invalid device name!");
return MakeError(ErrorModule.Audio, AudErr.DeviceNotFound); return MakeError(ErrorModule.Audio, AudErr.DeviceNotFound);
} }
@ -121,7 +121,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
} }
else else
{ {
Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {ReceiveSize} too small!"); Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {ReceiveSize} too small!");
} }
int SampleRate = Context.RequestData.ReadInt32(); int SampleRate = Context.RequestData.ReadInt32();
@ -134,7 +134,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
if (SampleRate != DefaultSampleRate) if (SampleRate != DefaultSampleRate)
{ {
Context.Device.Log.PrintWarning(LogClass.Audio, "Invalid sample rate!"); Logger.PrintWarning(LogClass.Audio, "Invalid sample rate!");
return MakeError(ErrorModule.Audio, AudErr.UnsupportedSampleRate); return MakeError(ErrorModule.Audio, AudErr.UnsupportedSampleRate);
} }

View file

@ -1,7 +1,7 @@
using Ryujinx.Audio; using Ryujinx.Audio;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Services.Aud.AudioRenderer; using Ryujinx.HLE.HOS.Services.Aud.AudioRenderer;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -104,7 +104,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
Context.ResponseData.Write(Size); Context.ResponseData.Write(Size);
Context.Device.Log.PrintDebug(LogClass.ServiceAudio, $"WorkBufferSize is 0x{Size:x16}."); Logger.PrintDebug(LogClass.ServiceAudio, $"WorkBufferSize is 0x{Size:x16}.");
return 0; return 0;
} }
@ -112,7 +112,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
{ {
Context.ResponseData.Write(0L); Context.ResponseData.Write(0L);
Context.Device.Log.PrintWarning(LogClass.ServiceAudio, $"Library Revision 0x{Params.Revision:x8} is not supported!"); Logger.PrintWarning(LogClass.ServiceAudio, $"Library Revision 0x{Params.Revision:x8} is not supported!");
return MakeError(ErrorModule.Audio, AudErr.UnsupportedRevision); return MakeError(ErrorModule.Audio, AudErr.UnsupportedRevision);
} }
@ -179,7 +179,7 @@ namespace Ryujinx.HLE.HOS.Services.Aud
long AppletResourceUserId = Context.RequestData.ReadInt64(); long AppletResourceUserId = Context.RequestData.ReadInt64();
int RevisionInfo = Context.RequestData.ReadInt32(); int RevisionInfo = Context.RequestData.ReadInt32();
Context.Device.Log.PrintStub(LogClass.ServiceAudio, $"Stubbed. AppletResourceUserId: {AppletResourceUserId} - " + Logger.PrintStub(LogClass.ServiceAudio, $"Stubbed. AppletResourceUserId: {AppletResourceUserId} - " +
$"RevisionInfo: {RevisionInfo}"); $"RevisionInfo: {RevisionInfo}");
return GetAudioDeviceService(Context); return GetAudioDeviceService(Context);

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System.Collections.Generic; using System.Collections.Generic;
@ -46,15 +46,15 @@ namespace Ryujinx.HLE.HOS.Services.Friend
// There are no friends online, so we return 0 because the nn::account::NetworkServiceAccountId array is empty. // There are no friends online, so we return 0 because the nn::account::NetworkServiceAccountId array is empty.
Context.ResponseData.Write(0); Context.ResponseData.Write(0);
Context.Device.Log.PrintStub(LogClass.ServiceFriend, $"Stubbed. UserId: {Uuid.ToString()} - " + Logger.PrintStub(LogClass.ServiceFriend, $"Stubbed. UserId: {Uuid.ToString()} - " +
$"Unknown0: {Unknown0} - " + $"Unknown0: {Unknown0} - " +
$"PresenceStatus: {Filter.PresenceStatus} - " + $"PresenceStatus: {Filter.PresenceStatus} - " +
$"IsFavoriteOnly: {Filter.IsFavoriteOnly} - " + $"IsFavoriteOnly: {Filter.IsFavoriteOnly} - " +
$"IsSameAppPresenceOnly: {Filter.IsSameAppPresenceOnly} - " + $"IsSameAppPresenceOnly: {Filter.IsSameAppPresenceOnly} - " +
$"IsSameAppPlayedOnly: {Filter.IsSameAppPlayedOnly} - " + $"IsSameAppPlayedOnly: {Filter.IsSameAppPlayedOnly} - " +
$"IsArbitraryAppPlayedOnly: {Filter.IsArbitraryAppPlayedOnly} - " + $"IsArbitraryAppPlayedOnly: {Filter.IsArbitraryAppPlayedOnly} - " +
$"PresenceGroupId: {Filter.PresenceGroupId} - " + $"PresenceGroupId: {Filter.PresenceGroupId} - " +
$"Unknown1: {Unknown1}"); $"Unknown1: {Unknown1}");
return 0; return 0;
} }
@ -71,8 +71,8 @@ namespace Ryujinx.HLE.HOS.Services.Friend
Profile.OnlinePlayState = OpenCloseState.Closed; Profile.OnlinePlayState = OpenCloseState.Closed;
} }
Context.Device.Log.PrintStub(LogClass.ServiceFriend, $"Stubbed. Uuid: {Uuid.ToString()} - " + Logger.PrintStub(LogClass.ServiceFriend, $"Stubbed. Uuid: {Uuid.ToString()} - " +
$"OnlinePlayState: {Profile.OnlinePlayState}"); $"OnlinePlayState: {Profile.OnlinePlayState}");
return 0; return 0;
} }
@ -91,8 +91,8 @@ namespace Ryujinx.HLE.HOS.Services.Friend
//Todo: Write the buffer content. //Todo: Write the buffer content.
Context.Device.Log.PrintStub(LogClass.ServiceFriend, $"Stubbed. Uuid: {Uuid.ToString()} - " + Logger.PrintStub(LogClass.ServiceFriend, $"Stubbed. Uuid: {Uuid.ToString()} - " +
$"Unknown0: {Unknown0}"); $"Unknown0: {Unknown0}");
return 0; return 0;
} }

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -91,7 +91,7 @@ namespace Ryujinx.HLE.HOS.Services
{ {
Context.ResponseData.BaseStream.Seek(IsDomain ? 0x20 : 0x10, SeekOrigin.Begin); Context.ResponseData.BaseStream.Seek(IsDomain ? 0x20 : 0x10, SeekOrigin.Begin);
Context.Device.Log.PrintDebug(LogClass.KernelIpc, $"{Service.GetType().Name}: {ProcessRequest.Method.Name}"); Logger.PrintDebug(LogClass.KernelIpc, $"{Service.GetType().Name}: {ProcessRequest.Method.Name}");
long Result = ProcessRequest(Context); long Result = ProcessRequest(Context);

View file

@ -1,6 +1,6 @@
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -28,7 +28,7 @@ namespace Ryujinx.HLE.HOS.Services.Irs
{ {
long AppletResourceUserId = Context.RequestData.ReadInt64(); long AppletResourceUserId = Context.RequestData.ReadInt64();
Context.Device.Log.PrintStub(LogClass.ServiceIrs, $"Stubbed. AppletResourceUserId: {AppletResourceUserId}"); Logger.PrintStub(LogClass.ServiceIrs, $"Stubbed. AppletResourceUserId: {AppletResourceUserId}");
return 0; return 0;
} }
@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Services.Irs
{ {
long AppletResourceUserId = Context.RequestData.ReadInt64(); long AppletResourceUserId = Context.RequestData.ReadInt64();
Context.Device.Log.PrintStub(LogClass.ServiceIrs, $"Stubbed. AppletResourceUserId: {AppletResourceUserId}"); Logger.PrintStub(LogClass.ServiceIrs, $"Stubbed. AppletResourceUserId: {AppletResourceUserId}");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text; using System.Text;
@ -88,11 +88,11 @@ namespace Ryujinx.HLE.HOS.Services.Lm
switch((LmLogLevel)Level) switch((LmLogLevel)Level)
{ {
case LmLogLevel.Trace: Context.Device.Log.PrintDebug (LogClass.ServiceLm, Text); break; case LmLogLevel.Trace: Logger.PrintDebug (LogClass.ServiceLm, Text); break;
case LmLogLevel.Info: Context.Device.Log.PrintInfo (LogClass.ServiceLm, Text); break; case LmLogLevel.Info: Logger.PrintInfo (LogClass.ServiceLm, Text); break;
case LmLogLevel.Warning: Context.Device.Log.PrintWarning(LogClass.ServiceLm, Text); break; case LmLogLevel.Warning: Logger.PrintWarning(LogClass.ServiceLm, Text); break;
case LmLogLevel.Error: Context.Device.Log.PrintError (LogClass.ServiceLm, Text); break; case LmLogLevel.Error: Logger.PrintError (LogClass.ServiceLm, Text); break;
case LmLogLevel.Critical: Context.Device.Log.PrintError (LogClass.ServiceLm, Text); break; case LmLogLevel.Critical: Logger.PrintError (LogClass.ServiceLm, Text); break;
} }
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -29,21 +29,21 @@ namespace Ryujinx.HLE.HOS.Services.Mm
int Unknown1 = Context.RequestData.ReadInt32(); int Unknown1 = Context.RequestData.ReadInt32();
int Unknown2 = Context.RequestData.ReadInt32(); int Unknown2 = Context.RequestData.ReadInt32();
Context.Device.Log.PrintStub(LogClass.ServiceMm, "Stubbed."); Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
return 0; return 0;
} }
public long Initialize(ServiceCtx Context) public long Initialize(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceMm, "Stubbed."); Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
return 0; return 0;
} }
public long SetAndWait(ServiceCtx Context) public long SetAndWait(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceMm, "Stubbed."); Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
return 0; return 0;
} }
@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
{ {
Context.ResponseData.Write(0); Context.ResponseData.Write(0);
Context.Device.Log.PrintStub(LogClass.ServiceMm, "Stubbed."); Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,7 +1,7 @@
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Input; using Ryujinx.HLE.Input;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -45,7 +45,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfp
public long Initialize(ServiceCtx Context) public long Initialize(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed."); Logger.PrintStub(LogClass.ServiceNfp, "Stubbed.");
State = State.Initialized; State = State.Initialized;
@ -54,7 +54,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfp
public long AttachActivateEvent(ServiceCtx Context) public long AttachActivateEvent(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed."); Logger.PrintStub(LogClass.ServiceNfp, "Stubbed.");
if (Context.Process.HandleTable.GenerateHandle(ActivateEvent.ReadableEvent, out int Handle) != KernelResult.Success) if (Context.Process.HandleTable.GenerateHandle(ActivateEvent.ReadableEvent, out int Handle) != KernelResult.Success)
{ {
@ -68,7 +68,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfp
public long AttachDeactivateEvent(ServiceCtx Context) public long AttachDeactivateEvent(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed."); Logger.PrintStub(LogClass.ServiceNfp, "Stubbed.");
if (Context.Process.HandleTable.GenerateHandle(DeactivateEvent.ReadableEvent, out int Handle) != KernelResult.Success) if (Context.Process.HandleTable.GenerateHandle(DeactivateEvent.ReadableEvent, out int Handle) != KernelResult.Success)
{ {
@ -84,7 +84,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfp
{ {
Context.ResponseData.Write((int)State); Context.ResponseData.Write((int)State);
Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed."); Logger.PrintStub(LogClass.ServiceNfp, "Stubbed.");
return 0; return 0;
} }
@ -93,7 +93,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfp
{ {
Context.ResponseData.Write((int)DeviceState); Context.ResponseData.Write((int)DeviceState);
Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed."); Logger.PrintStub(LogClass.ServiceNfp, "Stubbed.");
return 0; return 0;
} }
@ -102,14 +102,14 @@ namespace Ryujinx.HLE.HOS.Services.Nfp
{ {
Context.ResponseData.Write((int)NpadId); Context.ResponseData.Write((int)NpadId);
Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed."); Logger.PrintStub(LogClass.ServiceNfp, "Stubbed.");
return 0; return 0;
} }
public long AttachAvailabilityChangeEvent(ServiceCtx Context) public long AttachAvailabilityChangeEvent(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed."); Logger.PrintStub(LogClass.ServiceNfp, "Stubbed.");
if (Context.Process.HandleTable.GenerateHandle(AvailabilityChangeEvent.ReadableEvent, out int Handle) != KernelResult.Success) if (Context.Process.HandleTable.GenerateHandle(AvailabilityChangeEvent.ReadableEvent, out int Handle) != KernelResult.Success)
{ {

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm
MakeObject(Context, new IRequest(Context.Device.System)); MakeObject(Context, new IRequest(Context.Device.System));
Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed."); Logger.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0; return 0;
} }
@ -50,7 +50,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm
Context.ResponseData.Write(BitConverter.ToUInt32(Address.GetAddressBytes())); Context.ResponseData.Write(BitConverter.ToUInt32(Address.GetAddressBytes()));
Context.Device.Log.PrintInfo(LogClass.ServiceNifm, $"Console's local IP is \"{Address}\"."); Logger.PrintInfo(LogClass.ServiceNifm, $"Console's local IP is \"{Address}\".");
return 0; return 0;
} }

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -35,14 +35,14 @@ namespace Ryujinx.HLE.HOS.Services.Nifm
{ {
Context.ResponseData.Write(1); Context.ResponseData.Write(1);
Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed."); Logger.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0; return 0;
} }
public long GetResult(ServiceCtx Context) public long GetResult(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed."); Logger.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0; return 0;
} }
@ -66,21 +66,21 @@ namespace Ryujinx.HLE.HOS.Services.Nifm
public long Cancel(ServiceCtx Context) public long Cancel(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed."); Logger.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0; return 0;
} }
public long Submit(ServiceCtx Context) public long Submit(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed."); Logger.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0; return 0;
} }
public long SetConnectionConfirmationOption(ServiceCtx Context) public long SetConnectionConfirmationOption(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed."); Logger.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Ns namespace Ryujinx.HLE.HOS.Services.Ns
@ -23,14 +23,14 @@ namespace Ryujinx.HLE.HOS.Services.Ns
{ {
Context.ResponseData.Write(0); Context.ResponseData.Write(0);
Context.Device.Log.PrintStub(LogClass.ServiceNs, "Stubbed."); Logger.PrintStub(LogClass.ServiceNs, "Stubbed.");
return 0; return 0;
} }
public static long ListAddOnContent(ServiceCtx Context) public static long ListAddOnContent(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNs, "Stubbed."); Logger.PrintStub(LogClass.ServiceNs, "Stubbed.");
//TODO: This is supposed to write a u32 array aswell. //TODO: This is supposed to write a u32 array aswell.
//It's unknown what it contains. //It's unknown what it contains.

View file

@ -1,4 +1,5 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS; using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS;
@ -6,7 +7,6 @@ using Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu;
using Ryujinx.HLE.HOS.Services.Nv.NvHostChannel; using Ryujinx.HLE.HOS.Services.Nv.NvHostChannel;
using Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl; using Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl;
using Ryujinx.HLE.HOS.Services.Nv.NvMap; using Ryujinx.HLE.HOS.Services.Nv.NvMap;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -146,7 +146,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
public long FinishInitialize(ServiceCtx Context) public long FinishInitialize(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return 0; return 0;
} }
@ -180,14 +180,14 @@ namespace Ryujinx.HLE.HOS.Services.Nv
{ {
if (CmdIn(Cmd) && Context.Request.GetBufferType0x21().Position == 0) if (CmdIn(Cmd) && Context.Request.GetBufferType0x21().Position == 0)
{ {
Context.Device.Log.PrintError(LogClass.ServiceNv, "Input buffer is null!"); Logger.PrintError(LogClass.ServiceNv, "Input buffer is null!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
if (CmdOut(Cmd) && Context.Request.GetBufferType0x22().Position == 0) if (CmdOut(Cmd) && Context.Request.GetBufferType0x22().Position == 0)
{ {
Context.Device.Log.PrintError(LogClass.ServiceNv, "Output buffer is null!"); Logger.PrintError(LogClass.ServiceNv, "Output buffer is null!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }

View file

@ -1,7 +1,7 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Memory; using Ryujinx.Graphics.Memory;
using Ryujinx.HLE.HOS.Services.Nv.NvMap; using Ryujinx.HLE.HOS.Services.Nv.NvMap;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
@ -42,7 +42,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -78,7 +78,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{ {
Args.Offset = 0; Args.Offset = 0;
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Failed to allocate size {Size:x16}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Failed to allocate size {Size:x16}!");
Result = NvResult.OutOfMemory; Result = NvResult.OutOfMemory;
} }
@ -115,7 +115,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
} }
else else
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, Logger.PrintWarning(LogClass.ServiceNv,
$"Failed to free offset 0x{Args.Offset:x16} size 0x{Size:x16}!"); $"Failed to free offset 0x{Args.Offset:x16} size 0x{Size:x16}!");
Result = NvResult.InvalidInput; Result = NvResult.InvalidInput;
@ -145,7 +145,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
} }
else else
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid buffer offset {Args.Offset:x16}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid buffer offset {Args.Offset:x16}!");
} }
} }
@ -167,7 +167,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
if (Map == null) if (Map == null)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -188,7 +188,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{ {
string Msg = string.Format(MapErrorMsg, VA, Args.MappingSize); string Msg = string.Format(MapErrorMsg, VA, Args.MappingSize);
Context.Device.Log.PrintWarning(LogClass.ServiceNv, Msg); Logger.PrintWarning(LogClass.ServiceNv, Msg);
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -197,7 +197,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
} }
else else
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Address 0x{Args.Offset:x16} not mapped!"); Logger.PrintWarning(LogClass.ServiceNv, $"Address 0x{Args.Offset:x16} not mapped!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -231,7 +231,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{ {
string Msg = string.Format(MapErrorMsg, Args.Offset, Size); string Msg = string.Format(MapErrorMsg, Args.Offset, Size);
Context.Device.Log.PrintWarning(LogClass.ServiceNv, Msg); Logger.PrintWarning(LogClass.ServiceNv, Msg);
Result = NvResult.InvalidInput; Result = NvResult.InvalidInput;
} }
@ -245,7 +245,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{ {
Args.Offset = 0; Args.Offset = 0;
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Failed to map size 0x{Size:x16}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Failed to map size 0x{Size:x16}!");
Result = NvResult.InvalidInput; Result = NvResult.InvalidInput;
} }
@ -265,7 +265,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -275,7 +275,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -296,7 +296,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
if (Map == null) if (Map == null)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -306,7 +306,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
if (Result < 0) if (Result < 0)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, Logger.PrintWarning(LogClass.ServiceNv,
$"Page 0x{Args.Offset:x16} size 0x{Args.Pages:x16} not allocated!"); $"Page 0x{Args.Offset:x16} size 0x{Args.Pages:x16} not allocated!");
return NvResult.InvalidInput; return NvResult.InvalidInput;

View file

@ -1,5 +1,5 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.HLE.Logging; using Ryujinx.Common.Logging;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
AMemoryHelper.Write(Context.Memory, OutputPosition, Args); AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -70,7 +70,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
AMemoryHelper.Write(Context.Memory, OutputPosition, Args); AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -80,7 +80,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -163,7 +163,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
AMemoryHelper.Write(Context.Memory, OutputPosition, Args); AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }

View file

@ -1,7 +1,7 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Memory; using Ryujinx.Graphics.Memory;
using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS; using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
@ -57,7 +57,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -67,7 +67,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -110,7 +110,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -120,7 +120,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -130,7 +130,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -140,7 +140,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -150,7 +150,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position; long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position; long OutputPosition = Context.Request.GetBufferType0x22().Position;
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }

View file

@ -1,5 +1,5 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.HLE.Logging; using Ryujinx.Common.Logging;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Text; using System.Text;
@ -95,7 +95,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{ {
if (StringValue.Length > 0x100) if (StringValue.Length > 0x100)
{ {
Context.Device.Log.PrintError(Logging.LogClass.ServiceNv, $"{Domain}!{Name} String value size is too big!"); Logger.PrintError(LogClass.ServiceNv, $"{Domain}!{Name} String value size is too big!");
} }
else else
{ {
@ -118,7 +118,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
Context.Memory.WriteBytes(OutputPosition + 0x82, SettingBuffer); Context.Memory.WriteBytes(OutputPosition + 0x82, SettingBuffer);
Context.Device.Log.PrintDebug(Logging.LogClass.ServiceNv, $"Got setting {Domain}!{Name}"); Logger.PrintDebug(LogClass.ServiceNv, $"Got setting {Domain}!{Name}");
} }
return NvResult.Success; return NvResult.Success;
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
int EventId = Context.Memory.ReadInt32(InputPosition); int EventId = Context.Memory.ReadInt32(InputPosition);
Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed."); Logger.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success; return NvResult.Success;
} }
@ -201,7 +201,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
} }
else else
{ {
Context.Device.Log.PrintDebug(LogClass.ServiceNv, "Waiting syncpt with timeout of " + Args.Timeout + "ms..."); Logger.PrintDebug(LogClass.ServiceNv, "Waiting syncpt with timeout of " + Args.Timeout + "ms...");
using (ManualResetEvent WaitEvent = new ManualResetEvent(false)) using (ManualResetEvent WaitEvent = new ManualResetEvent(false))
{ {
@ -232,7 +232,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
} }
} }
Context.Device.Log.PrintDebug(LogClass.ServiceNv, "Resuming..."); Logger.PrintDebug(LogClass.ServiceNv, "Resuming...");
} }
if (Extended) if (Extended)

View file

@ -1,6 +1,6 @@
using ChocolArm64.Memory; using ChocolArm64.Memory;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Memory; using Ryujinx.Graphics.Memory;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System.Collections.Concurrent; using System.Collections.Concurrent;
@ -29,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
case 0x010e: return GetId (Context); case 0x010e: return GetId (Context);
} }
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Unsupported Ioctl command 0x{Cmd:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Unsupported Ioctl command 0x{Cmd:x8}!");
return NvResult.NotSupported; return NvResult.NotSupported;
} }
@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
if (Args.Size == 0) if (Args.Size == 0)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid size 0x{Args.Size:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid size 0x{Args.Size:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
Args.Handle = AddNvMap(Context, new NvMapHandle(Size)); Args.Handle = AddNvMap(Context, new NvMapHandle(Size));
Context.Device.Log.PrintInfo(LogClass.ServiceNv, $"Created map {Args.Handle} with size 0x{Size:x8}!"); Logger.PrintInfo(LogClass.ServiceNv, $"Created map {Args.Handle} with size 0x{Size:x8}!");
AMemoryHelper.Write(Context.Memory, OutputPosition, Args); AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
@ -70,7 +70,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
if (Map == null) if (Map == null)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -95,14 +95,14 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
if (Map == null) if (Map == null)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
if ((Args.Align & (Args.Align - 1)) != 0) if ((Args.Align & (Args.Align - 1)) != 0)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid alignment 0x{Args.Align:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid alignment 0x{Args.Align:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -159,7 +159,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
if (Map == null) if (Map == null)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -168,7 +168,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{ {
DeleteNvMap(Context, Args.Handle); DeleteNvMap(Context, Args.Handle);
Context.Device.Log.PrintInfo(LogClass.ServiceNv, $"Deleted map {Args.Handle}!"); Logger.PrintInfo(LogClass.ServiceNv, $"Deleted map {Args.Handle}!");
Args.Address = Map.Address; Args.Address = Map.Address;
Args.Flags = 0; Args.Flags = 0;
@ -197,7 +197,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
if (Map == null) if (Map == null)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }
@ -231,7 +231,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
if (Map == null) if (Map == null)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!"); Logger.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput; return NvResult.InvalidInput;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Pctl namespace Ryujinx.HLE.HOS.Services.Pctl
@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl
} }
else else
{ {
Context.Device.Log.PrintWarning(LogClass.ServicePctl, "Service is already initialized!"); Logger.PrintWarning(LogClass.ServicePctl, "Service is already initialized!");
} }
return 0; return 0;

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Prepo namespace Ryujinx.HLE.HOS.Services.Prepo
@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
public static long SaveReportWithUser(ServiceCtx Context) public static long SaveReportWithUser(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServicePrepo, "Stubbed."); Logger.PrintStub(LogClass.ServicePrepo, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,3 +1,4 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.HOS.SystemState;
using System; using System;
@ -115,7 +116,7 @@ namespace Ryujinx.HLE.HOS.Services.Set
{ {
if (StringValue.Length + 1 > ReplySize) if (StringValue.Length + 1 > ReplySize)
{ {
Context.Device.Log.PrintError(Logging.LogClass.ServiceSet, $"{AskedSetting} String value size is too big!"); Logger.PrintError(LogClass.ServiceSet, $"{AskedSetting} String value size is too big!");
} }
else else
{ {
@ -138,11 +139,11 @@ namespace Ryujinx.HLE.HOS.Services.Set
Context.Memory.WriteBytes(ReplyPos, SettingBuffer); Context.Memory.WriteBytes(ReplyPos, SettingBuffer);
Context.Device.Log.PrintDebug(Logging.LogClass.ServiceSet, $"{AskedSetting} set value: {NxSetting} as {NxSetting.GetType()}"); Logger.PrintDebug(LogClass.ServiceSet, $"{AskedSetting} set value: {NxSetting} as {NxSetting.GetType()}");
} }
else else
{ {
Context.Device.Log.PrintError(Logging.LogClass.ServiceSet, $"{AskedSetting} not found!"); Logger.PrintError(LogClass.ServiceSet, $"{AskedSetting} not found!");
} }
return 0; return 0;

View file

@ -1,3 +1,4 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -165,7 +166,7 @@ namespace Ryujinx.HLE.HOS.Services.Sfdnsres
long BufferSize = Context.Request.SendBuff[0].Size; long BufferSize = Context.Request.SendBuff[0].Size;
// TODO: This is stubbed in 2.0.0+, reverse 1.0.0 version for the sake completeness. // TODO: This is stubbed in 2.0.0+, reverse 1.0.0 version for the sake completeness.
Context.Device.Log.PrintStub(Logging.LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}"); Logger.PrintStub(LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}");
return MakeError(ErrorModule.Os, 1023); return MakeError(ErrorModule.Os, 1023);
} }
@ -176,7 +177,7 @@ namespace Ryujinx.HLE.HOS.Services.Sfdnsres
uint Unknown0 = Context.RequestData.ReadUInt32(); uint Unknown0 = Context.RequestData.ReadUInt32();
// TODO: This is stubbed in 2.0.0+, reverse 1.0.0 version for the sake completeness. // TODO: This is stubbed in 2.0.0+, reverse 1.0.0 version for the sake completeness.
Context.Device.Log.PrintStub(Logging.LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}"); Logger.PrintStub(LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}");
return MakeError(ErrorModule.Os, 1023); return MakeError(ErrorModule.Os, 1023);
} }
@ -368,7 +369,7 @@ namespace Ryujinx.HLE.HOS.Services.Sfdnsres
Context.ResponseData.Write(0); Context.ResponseData.Write(0);
Context.Device.Log.PrintStub(Logging.LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}"); Logger.PrintStub(LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}");
return 0; return 0;
} }
@ -379,8 +380,8 @@ namespace Ryujinx.HLE.HOS.Services.Sfdnsres
uint Unknown0 = Context.RequestData.ReadUInt32(); uint Unknown0 = Context.RequestData.ReadUInt32();
ulong Unknown1 = Context.RequestData.ReadUInt64(); ulong Unknown1 = Context.RequestData.ReadUInt64();
Context.Device.Log.PrintStub(Logging.LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0} - " + Logger.PrintStub(LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0} - " +
$"Unknown1: {Unknown1}"); $"Unknown1: {Unknown1}");
return 0; return 0;
} }
@ -390,7 +391,7 @@ namespace Ryujinx.HLE.HOS.Services.Sfdnsres
{ {
uint Unknown0 = Context.RequestData.ReadUInt32(); uint Unknown0 = Context.RequestData.ReadUInt32();
Context.Device.Log.PrintStub(Logging.LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}"); Logger.PrintStub(LogClass.ServiceSfdnsres, $"Stubbed. Unknown0: {Unknown0}");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Ssl namespace Ryujinx.HLE.HOS.Services.Ssl
@ -25,7 +25,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
int SslVersion = Context.RequestData.ReadInt32(); int SslVersion = Context.RequestData.ReadInt32();
long Unknown = Context.RequestData.ReadInt64(); long Unknown = Context.RequestData.ReadInt64();
Context.Device.Log.PrintStub(LogClass.ServiceSsl, $"Stubbed. SslVersion: {SslVersion} - Unknown: {Unknown}"); Logger.PrintStub(LogClass.ServiceSsl, $"Stubbed. SslVersion: {SslVersion} - Unknown: {Unknown}");
MakeObject(Context, new ISslContext()); MakeObject(Context, new ISslContext());
@ -37,7 +37,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
{ {
int Version = Context.RequestData.ReadInt32(); int Version = Context.RequestData.ReadInt32();
Context.Device.Log.PrintStub(LogClass.ServiceSsl, $"Stubbed. Version: {Version}"); Logger.PrintStub(LogClass.ServiceSsl, $"Stubbed. Version: {Version}");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
@ -110,7 +110,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
if (BufferSize != 0x4000) if (BufferSize != 0x4000)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)"); Logger.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
} }
long ResultCode = 0; long ResultCode = 0;
@ -132,7 +132,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
} }
catch (TimeZoneNotFoundException) catch (TimeZoneNotFoundException)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})"); Logger.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
ResultCode = MakeError(ErrorModule.Time, 0x3dd); ResultCode = MakeError(ErrorModule.Time, 0x3dd);
} }
@ -170,7 +170,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
if (BufferSize != 0x4000) if (BufferSize != 0x4000)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)"); Logger.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
} }
// TODO: Reverse the TZif2 conversion in PCV to make this match with real hardware. // TODO: Reverse the TZif2 conversion in PCV to make this match with real hardware.
@ -189,7 +189,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
} }
catch (TimeZoneNotFoundException) catch (TimeZoneNotFoundException)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})"); Logger.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
ResultCode = MakeError(ErrorModule.Time, 0x3dd); ResultCode = MakeError(ErrorModule.Time, 0x3dd);
} }
@ -220,7 +220,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
if (BufferSize != 0x4000) if (BufferSize != 0x4000)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)"); Logger.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
} }
// TODO: Reverse the TZif2 conversion in PCV to make this match with real hardware. // TODO: Reverse the TZif2 conversion in PCV to make this match with real hardware.
@ -239,7 +239,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
} }
catch (TimeZoneNotFoundException) catch (TimeZoneNotFoundException)
{ {
Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})"); Logger.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
ResultCode = MakeError(ErrorModule.Time, 0x3dd); ResultCode = MakeError(ErrorModule.Time, 0x3dd);
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Vi namespace Ryujinx.HLE.HOS.Services.Vi
@ -23,7 +23,7 @@ namespace Ryujinx.HLE.HOS.Services.Vi
public static long CreateManagedLayer(ServiceCtx Context) public static long CreateManagedLayer(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed."); Logger.PrintStub(LogClass.ServiceVi, "Stubbed.");
Context.ResponseData.Write(0L); //LayerId Context.ResponseData.Write(0L); //LayerId
@ -32,21 +32,21 @@ namespace Ryujinx.HLE.HOS.Services.Vi
public long DestroyManagedLayer(ServiceCtx Context) public long DestroyManagedLayer(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed."); Logger.PrintStub(LogClass.ServiceVi, "Stubbed.");
return 0; return 0;
} }
public static long AddToLayerStack(ServiceCtx Context) public static long AddToLayerStack(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed."); Logger.PrintStub(LogClass.ServiceVi, "Stubbed.");
return 0; return 0;
} }
public static long SetLayerVisibility(ServiceCtx Context) public static long SetLayerVisibility(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed."); Logger.PrintStub(LogClass.ServiceVi, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Vi namespace Ryujinx.HLE.HOS.Services.Vi
@ -22,14 +22,14 @@ namespace Ryujinx.HLE.HOS.Services.Vi
public static long SetLayerZ(ServiceCtx Context) public static long SetLayerZ(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed."); Logger.PrintStub(LogClass.ServiceVi, "Stubbed.");
return 0; return 0;
} }
public static long SetLayerVisibility(ServiceCtx Context) public static long SetLayerVisibility(ServiceCtx Context)
{ {
Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed."); Logger.PrintStub(LogClass.ServiceVi, "Stubbed.");
return 0; return 0;
} }

View file

@ -1,9 +1,9 @@
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Gal; using Ryujinx.Graphics.Gal;
using Ryujinx.Graphics.Memory; using Ryujinx.Graphics.Memory;
using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS; using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS;
using Ryujinx.HLE.HOS.Services.Nv.NvMap; using Ryujinx.HLE.HOS.Services.Nv.NvMap;
using Ryujinx.HLE.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Android
if (Commands.TryGetValue((InterfaceName, Code), out ServiceProcessParcel ProcReq)) if (Commands.TryGetValue((InterfaceName, Code), out ServiceProcessParcel ProcReq))
{ {
Context.Device.Log.PrintDebug(LogClass.ServiceVi, $"{InterfaceName} {ProcReq.Method.Name}"); Logger.PrintDebug(LogClass.ServiceVi, $"{InterfaceName} {ProcReq.Method.Name}");
return ProcReq(Context, Reader); return ProcReq(Context, Reader);
} }

View file

@ -24,6 +24,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\ChocolArm64\ChocolArm64.csproj" /> <ProjectReference Include="..\ChocolArm64\ChocolArm64.csproj" />
<ProjectReference Include="..\Ryujinx.Audio\Ryujinx.Audio.csproj" /> <ProjectReference Include="..\Ryujinx.Audio\Ryujinx.Audio.csproj" />
<ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
<ProjectReference Include="..\Ryujinx.Graphics\Ryujinx.Graphics.csproj" /> <ProjectReference Include="..\Ryujinx.Graphics\Ryujinx.Graphics.csproj" />
<PackageReference Include="LibHac" Version="0.1.2" /> <PackageReference Include="LibHac" Version="0.1.2" />
</ItemGroup> </ItemGroup>

View file

@ -4,7 +4,6 @@ using Ryujinx.Graphics.Gal;
using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS; using Ryujinx.HLE.HOS;
using Ryujinx.HLE.Input; using Ryujinx.HLE.Input;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Memory; using Ryujinx.HLE.Memory;
using System; using System;
using System.Threading; using System.Threading;
@ -15,8 +14,6 @@ namespace Ryujinx.HLE
{ {
internal IAalOutput AudioOut { get; private set; } internal IAalOutput AudioOut { get; private set; }
public Logger Log { get; private set; }
internal DeviceMemory Memory { get; private set; } internal DeviceMemory Memory { get; private set; }
internal NvGpu Gpu { get; private set; } internal NvGpu Gpu { get; private set; }
@ -49,8 +46,6 @@ namespace Ryujinx.HLE
this.AudioOut = AudioOut; this.AudioOut = AudioOut;
Log = new Logger();
Memory = new DeviceMemory(); Memory = new DeviceMemory();
Gpu = new NvGpu(Renderer); Gpu = new NvGpu(Renderer);

View file

@ -17,9 +17,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics", "Ryujinx
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Audio", "Ryujinx.Audio\Ryujinx.Audio.csproj", "{5C1D818E-682A-46A5-9D54-30006E26C270}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Audio", "Ryujinx.Audio\Ryujinx.Audio.csproj", "{5C1D818E-682A-46A5-9D54-30006E26C270}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ryujinx.ShaderTools", "Ryujinx.ShaderTools\Ryujinx.ShaderTools.csproj", "{3AB294D0-2230-468F-9EB3-BDFCAEAE99A5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.ShaderTools", "Ryujinx.ShaderTools\Ryujinx.ShaderTools.csproj", "{3AB294D0-2230-468F-9EB3-BDFCAEAE99A5}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Luea", "Ryujinx.LLE\Luea.csproj", "{8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Luea", "Ryujinx.LLE\Luea.csproj", "{8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Common", "Ryujinx.Common\Ryujinx.Common.csproj", "{5FD4E4F6-8928-4B3C-BE07-28A675C17226}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -63,6 +65,10 @@ Global
{8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}.Debug|Any CPU.Build.0 = Debug|Any CPU {8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}.Release|Any CPU.ActiveCfg = Release|Any CPU {8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}.Release|Any CPU.Build.0 = Release|Any CPU {8E7D36DD-9626-47E2-8EF5-8F2F66751C9C}.Release|Any CPU.Build.0 = Release|Any CPU
{5FD4E4F6-8928-4B3C-BE07-28A675C17226}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5FD4E4F6-8928-4B3C-BE07-28A675C17226}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5FD4E4F6-8928-4B3C-BE07-28A675C17226}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5FD4E4F6-8928-4B3C-BE07-28A675C17226}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE; using Ryujinx.HLE;
using Ryujinx.HLE.Logging;
using Ryujinx.UI.Input; using Ryujinx.UI.Input;
using System; using System;
using System.Globalization; using System.Globalization;
@ -25,11 +25,11 @@ namespace Ryujinx
GraphicsConfig.ShadersDumpPath = Parser.Value("Graphics_Shaders_Dump_Path"); GraphicsConfig.ShadersDumpPath = Parser.Value("Graphics_Shaders_Dump_Path");
Device.Log.SetEnable(LogLevel.Debug, Convert.ToBoolean(Parser.Value("Logging_Enable_Debug"))); Logger.SetEnable(LogLevel.Debug, Convert.ToBoolean(Parser.Value("Logging_Enable_Debug")));
Device.Log.SetEnable(LogLevel.Stub, Convert.ToBoolean(Parser.Value("Logging_Enable_Stub"))); Logger.SetEnable(LogLevel.Stub, Convert.ToBoolean(Parser.Value("Logging_Enable_Stub")));
Device.Log.SetEnable(LogLevel.Info, Convert.ToBoolean(Parser.Value("Logging_Enable_Info"))); Logger.SetEnable(LogLevel.Info, Convert.ToBoolean(Parser.Value("Logging_Enable_Info")));
Device.Log.SetEnable(LogLevel.Warning, Convert.ToBoolean(Parser.Value("Logging_Enable_Warn"))); Logger.SetEnable(LogLevel.Warning, Convert.ToBoolean(Parser.Value("Logging_Enable_Warn")));
Device.Log.SetEnable(LogLevel.Error, Convert.ToBoolean(Parser.Value("Logging_Enable_Error"))); Logger.SetEnable(LogLevel.Error, Convert.ToBoolean(Parser.Value("Logging_Enable_Error")));
string[] FilteredLogClasses = Parser.Value("Logging_Filtered_Classes").Split(',', StringSplitOptions.RemoveEmptyEntries); string[] FilteredLogClasses = Parser.Value("Logging_Filtered_Classes").Split(',', StringSplitOptions.RemoveEmptyEntries);
@ -41,7 +41,7 @@ namespace Ryujinx
{ {
foreach (LogClass Class in Enum.GetValues(typeof(LogClass))) foreach (LogClass Class in Enum.GetValues(typeof(LogClass)))
{ {
Device.Log.SetEnable(Class, false); Logger.SetEnable(Class, false);
} }
} }
@ -53,7 +53,7 @@ namespace Ryujinx
{ {
if (Class.ToString().ToLower().Contains(LogClass.Trim().ToLower())) if (Class.ToString().ToLower().Contains(LogClass.Trim().ToLower()))
{ {
Device.Log.SetEnable(Class, true); Logger.SetEnable(Class, true);
} }
} }
} }

View file

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework> <TargetFramework>netcoreapp2.1</TargetFramework>
@ -15,6 +15,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\ChocolArm64\ChocolArm64.csproj" /> <ProjectReference Include="..\ChocolArm64\ChocolArm64.csproj" />
<ProjectReference Include="..\Ryujinx.Audio\Ryujinx.Audio.csproj" /> <ProjectReference Include="..\Ryujinx.Audio\Ryujinx.Audio.csproj" />
<ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
<ProjectReference Include="..\Ryujinx.Graphics\Ryujinx.Graphics.csproj" /> <ProjectReference Include="..\Ryujinx.Graphics\Ryujinx.Graphics.csproj" />
<ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" /> <ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
</ItemGroup> </ItemGroup>

View file

@ -1,4 +1,4 @@
using Ryujinx.HLE.Logging; using Ryujinx.Common.Logging;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;

View file

@ -1,5 +1,6 @@
using Ryujinx.Audio; using Ryujinx.Audio;
using Ryujinx.Audio.OpenAL; using Ryujinx.Audio.OpenAL;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Gal; using Ryujinx.Graphics.Gal;
using Ryujinx.Graphics.Gal.OpenGL; using Ryujinx.Graphics.Gal.OpenGL;
using Ryujinx.HLE; using Ryujinx.HLE;
@ -22,7 +23,7 @@ namespace Ryujinx
Config.Read(Device); Config.Read(Device);
Device.Log.Updated += ConsoleLog.Log; Logger.Updated += ConsoleLog.Log;
if (args.Length == 1) if (args.Length == 1)
{ {