Merge pull request #3810 from MerryMage/eret-exclusive
arm: Clear exclusive state after service call
This commit is contained in:
commit
98438258c3
2 changed files with 3 additions and 1 deletions
2
externals/dynarmic
vendored
2
externals/dynarmic
vendored
|
@ -1 +1 @@
|
|||
Subproject commit d1d4705364031512cb89333aebc00b8d75a2f732
|
||||
Subproject commit 4b350a354a21339052c7fff88832c3f81f5624be
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue