diff options
| author | 2020-11-28 11:55:30 -0800 | |
|---|---|---|
| committer | 2020-12-06 00:03:24 -0800 | |
| commit | 39d356782e5652a7e9bbdf7f0748be0b126a42f2 (patch) | |
| tree | 5dd39f1a8d791b8b035641546cfd531377c5bc6d /src/core/hle/kernel/svc.cpp | |
| parent | hle: kernel: process: Add schedule count tracking, to be used for yield impl. (diff) | |
| download | yuzu-39d356782e5652a7e9bbdf7f0748be0b126a42f2.tar.gz yuzu-39d356782e5652a7e9bbdf7f0748be0b126a42f2.tar.xz yuzu-39d356782e5652a7e9bbdf7f0748be0b126a42f2.zip | |
hle: kernel: svc: Remove reschedule on svcBreak.
- This breaks things, and is unnecessary, since emulation will be done at this point.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index fcb864427..9742aaf4c 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -658,7 +658,6 @@ static void Break(Core::System& system, u32 reason, u64 info1, u64 info2) { | |||
| 658 | info2, has_dumped_buffer ? std::make_optional(debug_buffer) : std::nullopt); | 658 | info2, has_dumped_buffer ? std::make_optional(debug_buffer) : std::nullopt); |
| 659 | 659 | ||
| 660 | if (!break_reason.signal_debugger) { | 660 | if (!break_reason.signal_debugger) { |
| 661 | SchedulerLock lock(system.Kernel()); | ||
| 662 | LOG_CRITICAL( | 661 | LOG_CRITICAL( |
| 663 | Debug_Emulated, | 662 | Debug_Emulated, |
| 664 | "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", | 663 | "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", |
| @@ -669,10 +668,6 @@ static void Break(Core::System& system, u32 reason, u64 info1, u64 info2) { | |||
| 669 | auto* const current_thread = system.CurrentScheduler().GetCurrentThread(); | 668 | auto* const current_thread = system.CurrentScheduler().GetCurrentThread(); |
| 670 | const auto thread_processor_id = current_thread->GetProcessorID(); | 669 | const auto thread_processor_id = current_thread->GetProcessorID(); |
| 671 | system.ArmInterface(static_cast<std::size_t>(thread_processor_id)).LogBacktrace(); | 670 | system.ArmInterface(static_cast<std::size_t>(thread_processor_id)).LogBacktrace(); |
| 672 | |||
| 673 | // Kill the current thread | ||
| 674 | system.Kernel().ExceptionalExit(); | ||
| 675 | current_thread->Stop(); | ||
| 676 | } | 671 | } |
| 677 | } | 672 | } |
| 678 | 673 | ||