From c3edcfe6e649e4735b3d1f8ea1b55ef5dbf5ba1d Mon Sep 17 00:00:00 2001 From: DH Date: Thu, 21 Nov 2024 14:30:07 +0300 Subject: [PATCH] ipmi: use 0x30010 lnc method for ps5 thanks ga2mer for investigation --- rpcsx/ipmi.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/rpcsx/ipmi.cpp b/rpcsx/ipmi.cpp index 625f5acd6..64cbfdc20 100644 --- a/rpcsx/ipmi.cpp +++ b/rpcsx/ipmi.cpp @@ -569,9 +569,19 @@ void ipmi::createShellCoreObjects(orbis::Process *process) { createIpmiServer(process, "SceSystemLoggerService"); createIpmiServer(process, "SceLoginMgrServer"); + int lnsStatusServer; + + if (orbis::g_context.fwType == orbis::FwType::Ps5) { + lnsStatusServer = 0x30010; + } else { + if (orbis::g_context.fwSdkVersion > 0x6000000) { + lnsStatusServer = 0x30013; + } else { + lnsStatusServer = 0x30010; + } + } createIpmiServer(process, "SceLncService") - .addSyncMethod(orbis::g_context.fwSdkVersion > 0x6000000 ? 0x30013 - : 0x30010, + .addSyncMethod(lnsStatusServer, [](void *out, std::uint64_t &size) -> std::int32_t { struct SceLncServiceAppStatus { std::uint32_t unk0;