diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index a1eaab6498895988a4b47adb9475a8b40dcc1f1a..71f5804f002dd486c5c1d140c1e4d5e40d0c895d 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 16c834cf359312a94a488acb717aa1d443fa3f43..befc4a727fde245fd64a49a16db227178dd9c996 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);