diff options
| author | 2018-10-09 11:10:30 +1100 | |
|---|---|---|
| committer | 2018-10-09 11:10:30 +1100 | |
| commit | c50f66a8eb85abd979508bec8b53cd12394bfd4d (patch) | |
| tree | 63bb16c8493c3499802f174758f58e40ae0face5 /src/core/hle/kernel/svc.cpp | |
| parent | Merge pull request #1456 from ogniK5377/aoc-u-fixups (diff) | |
| download | yuzu-c50f66a8eb85abd979508bec8b53cd12394bfd4d.tar.gz yuzu-c50f66a8eb85abd979508bec8b53cd12394bfd4d.tar.xz yuzu-c50f66a8eb85abd979508bec8b53cd12394bfd4d.zip | |
svcBreak, Signalling to the debugger should not kill execution
When loading NROs, svcBreak is called to signal to the debugger that a new "module" is loaded. As no debugger is technically attached we shouldn't be killing the programs execution.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 6c4af7e47..7b594ed16 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -303,11 +303,18 @@ static ResultCode ArbitrateUnlock(VAddr mutex_addr) { | |||
| 303 | 303 | ||
| 304 | /// Break program execution | 304 | /// Break program execution |
| 305 | static void Break(u64 reason, u64 info1, u64 info2) { | 305 | static void Break(u64 reason, u64 info1, u64 info2) { |
| 306 | LOG_CRITICAL( | 306 | if ((reason & (1 << 31)) == 0) { |
| 307 | Debug_Emulated, | 307 | LOG_CRITICAL( |
| 308 | "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", | 308 | Debug_Emulated, |
| 309 | reason, info1, info2); | 309 | "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", |
| 310 | ASSERT(false); | 310 | reason, info1, info2); |
| 311 | } else { | ||
| 312 | LOG_ERROR( | ||
| 313 | Debug_Emulated, | ||
| 314 | "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", | ||
| 315 | reason, info1, info2); | ||
| 316 | ASSERT(false); | ||
| 317 | } | ||
| 311 | } | 318 | } |
| 312 | 319 | ||
| 313 | /// Used to output a message on a debug hardware unit - does nothing on a retail unit | 320 | /// Used to output a message on a debug hardware unit - does nothing on a retail unit |