Merge pull request #3195 from FernandoS27/clear-exclusive

CpuCore: Clear exclusive state after doing a run in dynarmic.
This commit is contained in:
bunnei 2019-12-06 20:00:23 -05:00 committed by GitHub
commit 4bbb22a477
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 1 deletions

View File

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

View File

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