Procházet zdrojové kódy

Merge pull request #3195 from FernandoS27/clear-exclusive

CpuCore: Clear exclusive state after doing a run in dynarmic.
bunnei před 6 roky
rodič
revize
4bbb22a477
2 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 2 0
      src/core/core_cpu.cpp
  2. 0 1
      src/core/hle/kernel/scheduler.cpp

+ 2 - 0
src/core/core_cpu.cpp

@@ -96,6 +96,8 @@ void Cpu::RunLoop(bool tight_loop) {
         } else {
             arm_interface->Step();
         }
+        // We are stopping a run, exclusive state must be cleared
+        arm_interface->ClearExclusiveState();
     }
     core_timing.Advance();
 

+ 0 - 1
src/core/hle/kernel/scheduler.cpp

@@ -458,7 +458,6 @@ void Scheduler::SwitchContext() {
         cpu_core.LoadContext(new_thread->GetContext());
         cpu_core.SetTlsAddress(new_thread->GetTLSAddress());
         cpu_core.SetTPIDR_EL0(new_thread->GetTPIDR_EL0());
-        cpu_core.ClearExclusiveState();
     } else {
         current_thread = nullptr;
         // Note: We do not reset the current process and current page table when idling because