summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-01-07 15:59:38 +0100
committerbunnei <bunneidev@gmail.com>2018-01-07 23:11:58 +0100
commitba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe (patch)
treec82f2f1a9fe8aa2cc07c3a558ad4a4d5ca00b0e0
parentSM: Fixed connecting to services with an 8-byte name, like appletOE. (diff)
downloadyuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar
yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar.gz
yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar.bz2
yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar.lz
yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar.xz
yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar.zst
yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.zip
-rw-r--r--src/core/hle/ipc_helpers.h6
-rw-r--r--src/core/hle/service/sm/sm.cpp4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h
index b58e33a69..40e6c4897 100644
--- a/src/core/hle/ipc_helpers.h
+++ b/src/core/hle/ipc_helpers.h
@@ -205,12 +205,14 @@ public:
}
RequestBuilder MakeBuilder(u32 normal_params_size, u32 num_handles_to_copy,
- u32 num_handles_to_move, bool validate_header = true) {
+ u32 num_handles_to_move, u32 num_domain_objects,
+ bool validate_header = true) {
if (validate_header) {
ValidateHeader();
}
- return {*context, normal_params_size, num_handles_to_copy, num_handles_to_move};
+ return {*context, normal_params_size, num_handles_to_copy, num_handles_to_move,
+ num_domain_objects};
}
template <typename T>
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index 6bfd6c50e..9bae34148 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -99,7 +99,7 @@ void SM::GetService(Kernel::HLERequestContext& ctx) {
auto client_port = service_manager->GetServicePort(name);
if (client_port.Failed()) {
- IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 0);
+ IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 0, 0);
rb.Push(client_port.Code());
LOG_ERROR(Service_SM, "called service=%s -> error 0x%08X", name.c_str(),
client_port.Code().raw);
@@ -111,7 +111,7 @@ void SM::GetService(Kernel::HLERequestContext& ctx) {
if (session.Succeeded()) {
LOG_DEBUG(Service_SM, "called service=%s -> session=%u", name.c_str(),
(*session)->GetObjectId());
- IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 1);
+ IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 1, 0);
rb.Push(session.Code());
rb.PushMoveObjects(std::move(session).Unwrap());
}