summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Subv2016-04-17 13:36:15 -0500
committerGravatar Subv2016-05-12 20:00:29 -0500
commit42a50da76b816fff95ae0e438d3e966f6f991b8a (patch)
treeb5363b4ffb961889379c4c1b5873f609d4ad1510
parentMerge pull request #1766 from Subv/log_cpu (diff)
downloadyuzu-42a50da76b816fff95ae0e438d3e966f6f991b8a.tar.gz
yuzu-42a50da76b816fff95ae0e438d3e966f6f991b8a.tar.xz
yuzu-42a50da76b816fff95ae0e438d3e966f6f991b8a.zip
Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
R0 is used as the last parameter instead of R4.
-rw-r--r--src/core/hle/function_wrappers.h3
-rw-r--r--src/core/hle/kernel/process.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h
index 4d718b681..bf7f875b6 100644
--- a/src/core/hle/function_wrappers.h
+++ b/src/core/hle/function_wrappers.h
@@ -170,7 +170,8 @@ template<ResultCode func(s64*, u32, s32)> void Wrap() {
170 170
171template<ResultCode func(u32*, u32, u32, u32, u32)> void Wrap() { 171template<ResultCode func(u32*, u32, u32, u32, u32)> void Wrap() {
172 u32 param_1 = 0; 172 u32 param_1 = 0;
173 u32 retval = func(&param_1, PARAM(1), PARAM(2), PARAM(3), PARAM(4)).raw; 173 // The last parameter is passed in R0 instead of R4
174 u32 retval = func(&param_1, PARAM(1), PARAM(2), PARAM(3), PARAM(0)).raw;
174 Core::g_app_core->SetReg(1, param_1); 175 Core::g_app_core->SetReg(1, param_1);
175 FuncReturn(retval); 176 FuncReturn(retval);
176} 177}
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp
index 0546f6e16..69302cc82 100644
--- a/src/core/hle/kernel/process.cpp
+++ b/src/core/hle/kernel/process.cpp
@@ -209,7 +209,7 @@ ResultVal<VAddr> Process::LinearAllocate(VAddr target, u32 size, VMAPermission p
209 return ERR_INVALID_ADDRESS; 209 return ERR_INVALID_ADDRESS;
210 } 210 }
211 211
212 // Expansion of the linear heap is only allowed if you do an allocation immediatelly at its 212 // Expansion of the linear heap is only allowed if you do an allocation immediately at its
213 // end. It's possible to free gaps in the middle of the heap and then reallocate them later, 213 // end. It's possible to free gaps in the middle of the heap and then reallocate them later,
214 // but expansions are only allowed at the end. 214 // but expansions are only allowed at the end.
215 if (target == heap_end) { 215 if (target == heap_end) {