diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp index 0755812094..30c0721c8e 100644 --- a/src/core/hle/service/sm/sm.cpp +++ b/src/core/hle/service/sm/sm.cpp @@ -18,11 +18,11 @@ namespace Service::SM { +[[maybe_unused]] constexpr Result ResultNotAllowed(ErrorModule::SM, 1); constexpr Result ResultInvalidClient(ErrorModule::SM, 2); constexpr Result ResultAlreadyRegistered(ErrorModule::SM, 4); constexpr Result ResultInvalidServiceName(ErrorModule::SM, 6); constexpr Result ResultNotRegistered(ErrorModule::SM, 7); -[[maybe_unused]] constexpr Result ResultNotAllowed(ErrorModule::SM, 1); ServiceManager::ServiceManager(Kernel::KernelCore& kernel_) : kernel{kernel_} { controller_interface = std::make_unique(kernel.System()); diff --git a/src/core/hle/service/sm/sm.h b/src/core/hle/service/sm/sm.h index 32c218638d..5bed4092a1 100644 --- a/src/core/hle/service/sm/sm.h +++ b/src/core/hle/service/sm/sm.h @@ -39,6 +39,7 @@ public: private: void Initialize(HLERequestContext& ctx); + void RegisterClient(HLERequestContext& ctx); void GetServiceCmif(HLERequestContext& ctx); void GetServiceTipc(HLERequestContext& ctx); void RegisterServiceCmif(HLERequestContext& ctx); diff --git a/src/core/hle/service/sm/sm_controller.cpp b/src/core/hle/service/sm/sm_controller.cpp index 60e1980b29..2d3f17e551 100644 --- a/src/core/hle/service/sm/sm_controller.cpp +++ b/src/core/hle/service/sm/sm_controller.cpp @@ -13,6 +13,8 @@ #include "core/hle/service/server_manager.h" #include "core/hle/service/sm/sm_controller.h" +#include + namespace Service::SM { void Controller::ConvertCurrentObjectToDomain(HLERequestContext& ctx) { @@ -68,13 +70,13 @@ void Controller::CloneCurrentObjectEx(HLERequestContext& ctx) { } void Controller::QueryPointerBufferSize(HLERequestContext& ctx) { - LOG_DEBUG(Service, "called"); + LOG_DEBUG(Service, "Querying maximum pointer buffer size"); - u16 pointer_buffer_size = 0x8000; // Replace with the actual size if known + constexpr u16 MAX_TRANSFER_MEMORY_SIZE = 0xFFFF; IPC::ResponseBuilder rb{ctx, 3}; rb.Push(ResultSuccess); - rb.Push(pointer_buffer_size); + rb.Push(MAX_TRANSFER_MEMORY_SIZE); } // https://switchbrew.org/wiki/IPC_Marshalling