From 0a1278081e770660e6c0848e0affc2c99436df3e Mon Sep 17 00:00:00 2001
From: Subv <subv2112@gmail.com>
Date: Sun, 7 Jan 2018 21:23:42 -0500
Subject: [PATCH] svc: Stub SetMemoryAttribute

---
 src/core/hle/kernel/svc.cpp    | 5 +++++
 src/core/hle/kernel/svc_wrap.h | 6 ++++++
 2 files changed, 11 insertions(+)

diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index a1eaab6498..71f5804f00 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -33,6 +33,11 @@ static ResultCode SetHeapSize(VAddr* heap_addr, u64 heap_size) {
     return RESULT_SUCCESS;
 }
 
+static ResultCode SetMemoryAttribute(VAddr addr, u64 size, u32 state0, u32 state1) {
+    LOG_WARNING(Kernel_SVC, "(STUBBED) called, addr=0x%llx", addr);
+    return RESULT_SUCCESS;
+}
+
 /// Maps a memory range into a different range.
 static ResultCode MapMemory(VAddr dst_addr, VAddr src_addr, u64 size) {
     LOG_TRACE(Kernel_SVC, "called, dst_addr=0x%llx, src_addr=0x%llx, size=0x%llx", dst_addr,
diff --git a/src/core/hle/kernel/svc_wrap.h b/src/core/hle/kernel/svc_wrap.h
index 16c834cf35..befc4a727f 100644
--- a/src/core/hle/kernel/svc_wrap.h
+++ b/src/core/hle/kernel/svc_wrap.h
@@ -70,6 +70,12 @@ void SvcWrap() {
     FuncReturn(retval);
 }
 
+template <ResultCode func(u64, u64, u32, u32)>
+void SvcWrap() {
+    FuncReturn(
+        func(PARAM(0), PARAM(1), (u32)(PARAM(3) & 0xFFFFFFFF), (u32)(PARAM(3) & 0xFFFFFFFF)).raw);
+}
+
 template <ResultCode func(u32, u64, u32)>
 void SvcWrap() {
     FuncReturn(func((u32)PARAM(0), PARAM(1), (u32)PARAM(2)).raw);
-- 
GitLab