diff options
| author | 2018-01-07 09:59:38 -0500 | |
|---|---|---|
| committer | 2018-01-07 17:11:58 -0500 | |
| commit | ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe (patch) | |
| tree | c82f2f1a9fe8aa2cc07c3a558ad4a4d5ca00b0e0 /src | |
| parent | SM: Fixed connecting to services with an 8-byte name, like appletOE. (diff) | |
| download | yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar.gz yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.tar.xz yuzu-ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe.zip | |
IPC: Take the number of domain objects as a parameter in MakeBuilder.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 6 | ||||
| -rw-r--r-- | src/core/hle/service/sm/sm.cpp | 4 |
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: | |||
| 205 | } | 205 | } |
| 206 | 206 | ||
| 207 | RequestBuilder MakeBuilder(u32 normal_params_size, u32 num_handles_to_copy, | 207 | RequestBuilder MakeBuilder(u32 normal_params_size, u32 num_handles_to_copy, |
| 208 | u32 num_handles_to_move, bool validate_header = true) { | 208 | u32 num_handles_to_move, u32 num_domain_objects, |
| 209 | bool validate_header = true) { | ||
| 209 | if (validate_header) { | 210 | if (validate_header) { |
| 210 | ValidateHeader(); | 211 | ValidateHeader(); |
| 211 | } | 212 | } |
| 212 | 213 | ||
| 213 | return {*context, normal_params_size, num_handles_to_copy, num_handles_to_move}; | 214 | return {*context, normal_params_size, num_handles_to_copy, num_handles_to_move, |
| 215 | num_domain_objects}; | ||
| 214 | } | 216 | } |
| 215 | 217 | ||
| 216 | template <typename T> | 218 | 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) { | |||
| 99 | 99 | ||
| 100 | auto client_port = service_manager->GetServicePort(name); | 100 | auto client_port = service_manager->GetServicePort(name); |
| 101 | if (client_port.Failed()) { | 101 | if (client_port.Failed()) { |
| 102 | IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 0); | 102 | IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 0, 0); |
| 103 | rb.Push(client_port.Code()); | 103 | rb.Push(client_port.Code()); |
| 104 | LOG_ERROR(Service_SM, "called service=%s -> error 0x%08X", name.c_str(), | 104 | LOG_ERROR(Service_SM, "called service=%s -> error 0x%08X", name.c_str(), |
| 105 | client_port.Code().raw); | 105 | client_port.Code().raw); |
| @@ -111,7 +111,7 @@ void SM::GetService(Kernel::HLERequestContext& ctx) { | |||
| 111 | if (session.Succeeded()) { | 111 | if (session.Succeeded()) { |
| 112 | LOG_DEBUG(Service_SM, "called service=%s -> session=%u", name.c_str(), | 112 | LOG_DEBUG(Service_SM, "called service=%s -> session=%u", name.c_str(), |
| 113 | (*session)->GetObjectId()); | 113 | (*session)->GetObjectId()); |
| 114 | IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 1); | 114 | IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 1, 0); |
| 115 | rb.Push(session.Code()); | 115 | rb.Push(session.Code()); |
| 116 | rb.PushMoveObjects(std::move(session).Unwrap()); | 116 | rb.PushMoveObjects(std::move(session).Unwrap()); |
| 117 | } | 117 | } |