summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-25 15:43:34 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 17:35:08 +0200
commita5c58a25ef3ed7975c8466933ca38e03c999b027 (patch)
tree147fd3634889726dfedfdd1ff55423d87fc66e8d
parentYuzuCMD/Tester: Correct execution (diff)
downloadyuzu-a5c58a25ef3ed7975c8466933ca38e03c999b027.tar
yuzu-a5c58a25ef3ed7975c8466933ca38e03c999b027.tar.gz
yuzu-a5c58a25ef3ed7975c8466933ca38e03c999b027.tar.bz2
yuzu-a5c58a25ef3ed7975c8466933ca38e03c999b027.tar.lz
yuzu-a5c58a25ef3ed7975c8466933ca38e03c999b027.tar.xz
yuzu-a5c58a25ef3ed7975c8466933ca38e03c999b027.tar.zst
yuzu-a5c58a25ef3ed7975c8466933ca38e03c999b027.zip
-rw-r--r--src/core/cpu_manager.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp
index 494850992..ff2fe8ead 100644
--- a/src/core/cpu_manager.cpp
+++ b/src/core/cpu_manager.cpp
@@ -78,10 +78,10 @@ void CpuManager::RunGuestThread() {
}
while (true) {
auto& physical_core = kernel.CurrentPhysicalCore();
- LOG_CRITICAL(Core_ARM, "Running Guest Thread");
- physical_core.Idle();
- LOG_CRITICAL(Core_ARM, "Leaving Guest Thread");
- // physical_core.Run();
+ if (!physical_core.IsInterrupted()) {
+ physical_core.Idle();
+ //physical_core.Run();
+ }
auto& scheduler = physical_core.Scheduler();
scheduler.TryDoContextSwitch();
}
@@ -91,7 +91,6 @@ void CpuManager::RunIdleThread() {
auto& kernel = system.Kernel();
while (true) {
auto& physical_core = kernel.CurrentPhysicalCore();
- LOG_CRITICAL(Core_ARM, "Running Idle Thread");
physical_core.Idle();
auto& scheduler = physical_core.Scheduler();
scheduler.TryDoContextSwitch();
@@ -99,7 +98,6 @@ void CpuManager::RunIdleThread() {
}
void CpuManager::RunSuspendThread() {
- LOG_CRITICAL(Core_ARM, "Suspending Thread Entered");
auto& kernel = system.Kernel();
{
auto& sched = kernel.CurrentScheduler();
@@ -109,9 +107,7 @@ void CpuManager::RunSuspendThread() {
auto core = kernel.GetCurrentHostThreadID();
auto& scheduler = kernel.CurrentScheduler();
Kernel::Thread* current_thread = scheduler.GetCurrentThread();
- LOG_CRITICAL(Core_ARM, "Suspending Core {}", core);
Common::Fiber::YieldTo(current_thread->GetHostContext(), core_data[core].host_context);
- LOG_CRITICAL(Core_ARM, "Unsuspending Core {}", core);
ASSERT(scheduler.ContextSwitchPending());
ASSERT(core == kernel.GetCurrentHostThreadID());
scheduler.TryDoContextSwitch();