diff options
author | David Marcec <dmarcecguzman@gmail.com> | 2018-10-10 12:23:50 +1100 |
---|---|---|
committer | David Marcec <dmarcecguzman@gmail.com> | 2018-10-10 12:23:50 +1100 |
commit | a4412c8e22cb0e914fd876c03894929c0ee4812b (patch) | |
tree | 2a6d83c547abdb66b7aa1d6ed7e50f99b8ee5c3f /src | |
parent | bc6939beaaa2673541523d7a40965c903d0c3cbc (diff) |
Fixed incorrect types for svcBreak
svcBreak reason should be a u32, not a u64.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 6 | ||||
-rw-r--r-- | src/core/hle/kernel/svc_wrap.h | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index b488b508d3..f05b743ef3 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 22712e64fc..5f53fb4211 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 func(u32, u64, u64)> +void SvcWrap() { + func((u32)(Param(0) & 0xFFFFFFFF), Param(1), Param(2)); +} + } // namespace Kernel |