summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/sm
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-01-24 01:43:59 +0100
committerbunnei <bunneidev@gmail.com>2018-01-25 04:21:33 +0100
commitf9dae990066cb0fa3730a811353781e9e7bffa19 (patch)
tree1122f389ab4ffd56e622fe9e89c7e9130937954f /src/core/hle/service/sm
parentipc_helpers: Make interface domain agnostic and add header validation. (diff)
downloadyuzu-f9dae990066cb0fa3730a811353781e9e7bffa19.tar
yuzu-f9dae990066cb0fa3730a811353781e9e7bffa19.tar.gz
yuzu-f9dae990066cb0fa3730a811353781e9e7bffa19.tar.bz2
yuzu-f9dae990066cb0fa3730a811353781e9e7bffa19.tar.lz
yuzu-f9dae990066cb0fa3730a811353781e9e7bffa19.tar.xz
yuzu-f9dae990066cb0fa3730a811353781e9e7bffa19.tar.zst
yuzu-f9dae990066cb0fa3730a811353781e9e7bffa19.zip
Diffstat (limited to 'src/core/hle/service/sm')
-rw-r--r--src/core/hle/service/sm/controller.cpp3
-rw-r--r--src/core/hle/service/sm/sm.cpp6
2 files changed, 4 insertions, 5 deletions
diff --git a/src/core/hle/service/sm/controller.cpp b/src/core/hle/service/sm/controller.cpp
index 3eead315a..1c1da9bbc 100644
--- a/src/core/hle/service/sm/controller.cpp
+++ b/src/core/hle/service/sm/controller.cpp
@@ -21,9 +21,8 @@ void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) {
}
void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) {
- IPC::RequestBuilder rb{ctx, 2, 0, 1};
+ IPC::RequestBuilder rb{ctx, 2, 0, 1, true};
rb.Push(RESULT_SUCCESS);
- // TODO(Subv): Check if this is correct
rb.PushMoveObjects(ctx.Session());
LOG_DEBUG(Service, "called");
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index c4078f02f..34ed93a80 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -83,7 +83,7 @@ std::shared_ptr<ServiceManager> g_service_manager;
* 0: ResultCode
*/
void SM::Initialize(Kernel::HLERequestContext& ctx) {
- IPC::RequestBuilder rb{ctx, 1};
+ IPC::RequestBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS);
LOG_DEBUG(Service_SM, "called");
}
@@ -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, 0);
+ IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 0);
rb.Push(client_port.Code());
LOG_ERROR(Service_SM, "called service=%s -> error 0x%08X", name.c_str(),
client_port.Code().raw);
@@ -112,7 +112,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, 0);
+ IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 1, true);
rb.Push(session.Code());
rb.PushMoveObjects(std::move(session).Unwrap());
}