summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/kernel/svc.cpp6
-rw-r--r--src/core/hle/kernel/svc_wrap.h5
2 files changed, 8 insertions, 3 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index b488b508d..f05b743ef 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -303,13 +303,13 @@ static ResultCode ArbitrateUnlock(VAddr mutex_addr) {
303 303
304struct BreakReason { 304struct BreakReason {
305 union { 305 union {
306 u64 raw; 306 u32 raw;
307 BitField<31, 1, u64> dont_kill_application; 307 BitField<31, 1, u32> dont_kill_application;
308 }; 308 };
309}; 309};
310 310
311/// Break program execution 311/// Break program execution
312static void Break(u64 reason, u64 info1, u64 info2) { 312static void Break(u32 reason, u64 info1, u64 info2) {
313 BreakReason break_reason{reason}; 313 BreakReason break_reason{reason};
314 if (break_reason.dont_kill_application) { 314 if (break_reason.dont_kill_application) {
315 LOG_ERROR( 315 LOG_ERROR(
diff --git a/src/core/hle/kernel/svc_wrap.h b/src/core/hle/kernel/svc_wrap.h
index 22712e64f..5f53fb421 100644
--- a/src/core/hle/kernel/svc_wrap.h
+++ b/src/core/hle/kernel/svc_wrap.h
@@ -239,4 +239,9 @@ void SvcWrap() {
239 func(Param(0), Param(1), Param(2)); 239 func(Param(0), Param(1), Param(2));
240} 240}
241 241
242template <void func(u32, u64, u64)>
243void SvcWrap() {
244 func((u32)(Param(0) & 0xFFFFFFFF), Param(1), Param(2));
245}
246
242} // namespace Kernel 247} // namespace Kernel