Browse Source
Merge pull request #3195 from FernandoS27/clear-exclusive
CpuCore: Clear exclusive state after doing a run in dynarmic.
pull/15/merge
bunnei
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
2 additions and
1 deletions
-
src/core/core_cpu.cpp
-
src/core/hle/kernel/scheduler.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(); |
|
|
|
|
|
|
|
|
|
|
|
@ -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
|
|
|
|
|