From cf6cd714884c41e9550757e364c2f4f5b04fc7f3 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 1 Dec 2020 20:23:43 -0300 Subject: IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel (#1458) * IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel * Fix for applet transfer memory + some nits * Keep handles if possible to avoid server handle table exhaustion * Fix IPC ZeroFill bug * am: Correctly implement CreateManagedDisplayLayer and implement CreateManagedDisplaySeparableLayer CreateManagedDisplaySeparableLayer is requires since 10.x+ when appletResourceUserId != 0 * Make it exit properly * Make ServiceNotImplementedException show the full message again * Allow yielding execution to avoid starving other threads * Only wait if active * Merge IVirtualMemoryManager and IAddressSpaceManager * Fix Ro loading data from the wrong process Co-authored-by: Thog --- .../HOS/Services/Nfc/Nfp/UserManager/IUser.cs | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'Ryujinx.HLE/HOS/Services/Nfc') diff --git a/Ryujinx.HLE/HOS/Services/Nfc/Nfp/UserManager/IUser.cs b/Ryujinx.HLE/HOS/Services/Nfc/Nfp/UserManager/IUser.cs index bc55d1a1..2cd35b9e 100644 --- a/Ryujinx.HLE/HOS/Services/Nfc/Nfp/UserManager/IUser.cs +++ b/Ryujinx.HLE/HOS/Services/Nfc/Nfp/UserManager/IUser.cs @@ -103,98 +103,98 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp // StartDetection(bytes<8, 4>) public ResultCode StartDetection(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(4)] // StopDetection(bytes<8, 4>) public ResultCode StopDetection(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(5)] // Mount(bytes<8, 4>, u32, u32) public ResultCode Mount(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(6)] // Unmount(bytes<8, 4>) public ResultCode Unmount(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(7)] // OpenApplicationArea(bytes<8, 4>, u32) public ResultCode OpenApplicationArea(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(8)] // GetApplicationArea(bytes<8, 4>) -> (u32, buffer) public ResultCode GetApplicationArea(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(9)] // SetApplicationArea(bytes<8, 4>, buffer) public ResultCode SetApplicationArea(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(10)] // Flush(bytes<8, 4>) public ResultCode Flush(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(11)] // Restore(bytes<8, 4>) public ResultCode Restore(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(12)] // CreateApplicationArea(bytes<8, 4>, u32, buffer) public ResultCode CreateApplicationArea(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(13)] // GetTagInfo(bytes<8, 4>) -> buffer, 0x1a> public ResultCode GetTagInfo(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(14)] // GetRegisterInfo(bytes<8, 4>) -> buffer, 0x1a> public ResultCode GetRegisterInfo(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(15)] // GetCommonInfo(bytes<8, 4>) -> buffer, 0x1a> public ResultCode GetCommonInfo(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(16)] // GetModelInfo(bytes<8, 4>) -> buffer, 0x1a> public ResultCode GetModelInfo(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(17)] @@ -308,7 +308,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp // GetApplicationAreaSize(bytes<8, 4>) -> u32 public ResultCode GetApplicationAreaSize(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } [Command(23)] // 3.0.0+ @@ -334,7 +334,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp // RecreateApplicationArea(bytes<8, 4>, u32, buffer) public ResultCode RecreateApplicationArea(ServiceCtx context) { - throw new ServiceNotImplementedException(context); + throw new ServiceNotImplementedException(this, context); } } } \ No newline at end of file -- cgit v1.2.3