Merge pull request #3810 from MerryMage/eret-exclusive

arm: Clear exclusive state after service call
This commit is contained in:
Merry authored and GitHub committed 2018-06-07 22:09:58 +01:00
commit 98438258c3
2 files changed
+3 -1

No files matched your search

@@ -3866,6 +3866,8 @@ SWI_INST : {
num_instrs >= cpu->NumInstrsToExecute ? 0 : cpu->NumInstrsToExecute - num_instrs;
num_instrs = 0;
Kernel::CallSVC(inst_cream->num & 0xFFFF);
// The kernel would call ERET to get here, which clears exclusive memory state.
cpu->UnsetExclusiveMemoryAddress();
}
cpu->Reg[15] += cpu->GetInstructionSize();