From 3e7383b3fdf78d88a25dc2f5d285a847596158f4 Mon Sep 17 00:00:00 2001
From: Bruno Macabeus <macabeus@users.noreply.github.com>
Date: Sat, 2 Jan 2021 07:11:38 -0800
Subject: [PATCH] services: add "apm:p" (#1854)

* services: add "apm:p"

* review: change amp:p version range

* review: remove uneeded calls

* review: fix ImanagerPrivileged
---
 .../HOS/Services/Apm/IManagerPrivileged.cs    | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 Ryujinx.HLE/HOS/Services/Apm/IManagerPrivileged.cs

diff --git a/Ryujinx.HLE/HOS/Services/Apm/IManagerPrivileged.cs b/Ryujinx.HLE/HOS/Services/Apm/IManagerPrivileged.cs
new file mode 100644
index 0000000000..86d618d8ed
--- /dev/null
+++ b/Ryujinx.HLE/HOS/Services/Apm/IManagerPrivileged.cs
@@ -0,0 +1,19 @@
+namespace Ryujinx.HLE.HOS.Services.Apm
+{
+    // NOTE: This service doesn’t exist anymore after firmware 7.0.1. But some outdated homebrew still uses it.
+
+    [Service("apm:p")] // 1.0.0-7.0.1
+    class IManagerPrivileged : IpcService
+    {
+        public IManagerPrivileged(ServiceCtx context) { }
+
+        [Command(0)]
+        // OpenSession() -> object<nn::apm::ISession>
+        public ResultCode OpenSession(ServiceCtx context)
+        {
+            MakeObject(context, new SessionServer(context));
+
+            return ResultCode.Success;
+        }
+    }
+}
\ No newline at end of file