diff options
| -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 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 | ||
| 304 | struct BreakReason { | 304 | struct 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 |
| 312 | static void Break(u64 reason, u64 info1, u64 info2) { | 312 | static 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 | ||
| 242 | template <void func(u32, u64, u64)> | ||
| 243 | void SvcWrap() { | ||
| 244 | func((u32)(Param(0) & 0xFFFFFFFF), Param(1), Param(2)); | ||
| 245 | } | ||
| 246 | |||
| 242 | } // namespace Kernel | 247 | } // namespace Kernel |