diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-03-12 21:48:43 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-27 17:35:48 +0200 |
commit | 7020d498c5aef7c1180bfc57031cdd7fbfecdf0f (patch) | |
tree | f2508e39a02966cdd4d9acda1e14ed93cdc150cd /src/core/cpu_manager.cpp | |
parent | General: Fix Stop function (diff) | |
download | yuzu-7020d498c5aef7c1180bfc57031cdd7fbfecdf0f.tar yuzu-7020d498c5aef7c1180bfc57031cdd7fbfecdf0f.tar.gz yuzu-7020d498c5aef7c1180bfc57031cdd7fbfecdf0f.tar.bz2 yuzu-7020d498c5aef7c1180bfc57031cdd7fbfecdf0f.tar.lz yuzu-7020d498c5aef7c1180bfc57031cdd7fbfecdf0f.tar.xz yuzu-7020d498c5aef7c1180bfc57031cdd7fbfecdf0f.tar.zst yuzu-7020d498c5aef7c1180bfc57031cdd7fbfecdf0f.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/cpu_manager.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp index 95842aad1..9e2e6d49f 100644 --- a/src/core/cpu_manager.cpp +++ b/src/core/cpu_manager.cpp @@ -118,9 +118,11 @@ void CpuManager::MultiCoreRunGuestLoop() { host_context.reset(); while (true) { auto& physical_core = kernel.CurrentPhysicalCore(); + system.EnterDynarmicProfile(); while (!physical_core.IsInterrupted()) { physical_core.Run(); } + system.ExitDynarmicProfile(); physical_core.ClearExclusive(); auto& scheduler = physical_core.Scheduler(); scheduler.TryDoContextSwitch(); @@ -216,6 +218,7 @@ void CpuManager::SingleCoreRunGuestLoop() { host_context.reset(); while (true) { auto& physical_core = kernel.CurrentPhysicalCore(); + system.EnterDynarmicProfile(); while (!physical_core.IsInterrupted()) { physical_core.Run(); preemption_count++; @@ -224,6 +227,7 @@ void CpuManager::SingleCoreRunGuestLoop() { } } physical_core.ClearExclusive(); + system.ExitDynarmicProfile(); PreemptSingleCore(); auto& scheduler = kernel.Scheduler(current_core); scheduler.TryDoContextSwitch(); |