mirror of
https://github.com/azahar-emu/dynarmic
synced 2025-11-06 23:19:58 +01:00
backend/arm64: Fix exclusive writes
This commit is contained in:
parent
bd570e093c
commit
7660da4909
@ -73,6 +73,7 @@ static void EmitExclusiveWriteMemory(oaknut::CodeGenerator& code, EmitContext& c
|
||||
if (ordered) {
|
||||
code.DMB(oaknut::BarrierOp::ISH);
|
||||
}
|
||||
code.MOV(W0, 1);
|
||||
code.LDRB(Wscratch0, Xstate, offsetof(A32JitState, exclusive_state));
|
||||
code.CBZ(Wscratch0, end);
|
||||
code.STRB(WZR, Xstate, offsetof(A32JitState, exclusive_state));
|
||||
|
||||
@ -101,6 +101,7 @@ static void EmitExclusiveWriteMemory(oaknut::CodeGenerator& code, EmitContext& c
|
||||
if (ordered) {
|
||||
code.DMB(oaknut::BarrierOp::ISH);
|
||||
}
|
||||
code.MOV(W0, 1);
|
||||
code.LDRB(Wscratch0, Xstate, offsetof(A64JitState, exclusive_state));
|
||||
code.CBZ(Wscratch0, end);
|
||||
code.STRB(WZR, Xstate, offsetof(A64JitState, exclusive_state));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user