arm_dyncom_interpreter: Clear exclusive memory state after SVC call

This commit is contained in:
MerryMage 2018-06-03 21:06:57 +01:00
parent a4bed294fb
commit b8c5007153

View File

@ -3866,6 +3866,8 @@ SWI_INST : {
num_instrs >= cpu->NumInstrsToExecute ? 0 : cpu->NumInstrsToExecute - num_instrs; num_instrs >= cpu->NumInstrsToExecute ? 0 : cpu->NumInstrsToExecute - num_instrs;
num_instrs = 0; num_instrs = 0;
Kernel::CallSVC(inst_cream->num & 0xFFFF); 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(); cpu->Reg[15] += cpu->GetInstructionSize();