diff --git a/include/services/service_manager.hpp b/include/services/service_manager.hpp index 93700498..017ab3a2 100644 --- a/include/services/service_manager.hpp +++ b/include/services/service_manager.hpp @@ -32,6 +32,7 @@ #include "services/news_u.hpp" #include "services/nfc.hpp" #include "services/nim.hpp" +#include "services/ns.hpp" #include "services/ptm.hpp" #include "services/soc.hpp" #include "services/ssl.hpp" @@ -75,6 +76,7 @@ class ServiceManager { NFCService nfc; NwmUdsService nwm_uds; NIMService nim; + NSService ns; PTMService ptm; SOCService soc; SSLService ssl; diff --git a/src/core/services/service_manager.cpp b/src/core/services/service_manager.cpp index ba04789f..0716386e 100644 --- a/src/core/services/service_manager.cpp +++ b/src/core/services/service_manager.cpp @@ -9,7 +9,7 @@ ServiceManager::ServiceManager(std::span regs, Memory& mem, GPU& gpu, u : regs(regs), mem(mem), kernel(kernel), ac(mem), am(mem), boss(mem), act(mem), apt(mem, kernel), cam(mem, kernel), cecd(mem, kernel), cfg(mem), csnd(mem, kernel), dlp_srvr(mem), dsp(mem, kernel), hid(mem, kernel), http(mem), ir_user(mem, kernel), frd(mem), fs(mem, kernel, config), gsp_gpu(mem, gpu, kernel, currentPID), gsp_lcd(mem), ldr(mem, kernel), mcu_hwc(mem, config), mic(mem, kernel), nfc(mem, kernel), nim(mem), ndm(mem), - news_u(mem), nwm_uds(mem, kernel), ptm(mem, config), soc(mem), ssl(mem), y2r(mem, kernel) {} + news_u(mem), nwm_uds(mem, kernel), ns(mem), ptm(mem, config), soc(mem), ssl(mem), y2r(mem, kernel) {} static constexpr int MAX_NOTIFICATION_COUNT = 16; @@ -228,7 +228,7 @@ void ServiceManager::sendCommandToService(u32 messagePointer, Handle handle) { case KernelHandles::NIM: nim.handleSyncRequest(messagePointer); break; case KernelHandles::NDM: ndm.handleSyncRequest(messagePointer); break; case KernelHandles::NEWS_U: news_u.handleSyncRequest(messagePointer); break; - case KernelHandles::NS_S: Helpers::panic("Unimplemented SendSyncRequest to ns:s"); break; + case KernelHandles::NS_S: ns.handleSyncRequest(messagePointer, NSService::Type::S); break; case KernelHandles::NWM_UDS: nwm_uds.handleSyncRequest(messagePointer); break; case KernelHandles::PTM_PLAY: ptm.handleSyncRequest(messagePointer, PTMService::Type::PLAY); break; case KernelHandles::PTM_SYSM: ptm.handleSyncRequest(messagePointer, PTMService::Type::SYSM); break;