From 4190281b2f8500af2357c9087749c13eac7a5060 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Wed, 27 Jan 2021 14:20:30 -0800 Subject: [PATCH] ams: communicate status to libnx --- libraries/libstratosphere/source/hos/hos_version_api.cpp | 2 +- stratosphere/ams_mitm/source/amsmitm_main.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/libstratosphere/source/hos/hos_version_api.cpp b/libraries/libstratosphere/source/hos/hos_version_api.cpp index d77e43fae..3d033d8cc 100644 --- a/libraries/libstratosphere/source/hos/hos_version_api.cpp +++ b/libraries/libstratosphere/source/hos/hos_version_api.cpp @@ -76,7 +76,7 @@ namespace ams::hos { const u32 major = (hos_version_val >> 24) & 0xFF; const u32 minor = (hos_version_val >> 16) & 0xFF; const u32 micro = (hos_version_val >> 8) & 0xFF; - hosversionSet(MAKEHOSVERSION(major, minor, micro)); + hosversionSet((BIT(31)) | (MAKEHOSVERSION(major, minor, micro))); } } diff --git a/stratosphere/ams_mitm/source/amsmitm_main.cpp b/stratosphere/ams_mitm/source/amsmitm_main.cpp index ce57c7db1..ca06e7108 100644 --- a/stratosphere/ams_mitm/source/amsmitm_main.cpp +++ b/stratosphere/ams_mitm/source/amsmitm_main.cpp @@ -124,6 +124,15 @@ void __libnx_free(void *mem) { } int main(int argc, char **argv) { + /* Register "ams" port, use up its session. */ + { + svc::Handle ams_port; + R_ABORT_UNLESS(svc::ManageNamedPort(std::addressof(ams_port), "ams", 1)); + + svc::Handle ams_session; + R_ABORT_UNLESS(svc::ConnectToNamedPort(std::addressof(ams_session), "ams")); + } + /* Launch all mitm modules in sequence. */ mitm::LaunchAllModules();