From a4412c8e22cb0e914fd876c03894929c0ee4812b Mon Sep 17 00:00:00 2001 From: David Marcec Date: Wed, 10 Oct 2018 12:23:50 +1100 Subject: Fixed incorrect types for svcBreak svcBreak reason should be a u32, not a u64. --- src/core/hle/kernel/svc.cpp | 6 +++--- src/core/hle/kernel/svc_wrap.h | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src') 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) { struct BreakReason { union { - u64 raw; - BitField<31, 1, u64> dont_kill_application; + u32 raw; + BitField<31, 1, u32> dont_kill_application; }; }; /// Break program execution -static void Break(u64 reason, u64 info1, u64 info2) { +static void Break(u32 reason, u64 info1, u64 info2) { BreakReason break_reason{reason}; if (break_reason.dont_kill_application) { 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() { func(Param(0), Param(1), Param(2)); } +template +void SvcWrap() { + func((u32)(Param(0) & 0xFFFFFFFF), Param(1), Param(2)); +} + } // namespace Kernel -- cgit v1.2.3