diff options
| -rw-r--r-- | emu/Linux/arm-tas-v7.S | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/emu/Linux/arm-tas-v7.S b/emu/Linux/arm-tas-v7.S index 30515607..584b31fb 100644 --- a/emu/Linux/arm-tas-v7.S +++ b/emu/Linux/arm-tas-v7.S @@ -18,10 +18,13 @@ _tas: tas1: ldrex r0, [r1] cmp r0, #0 - bxne lr - strex r4, r2, [r1] - cmp r4, #0 + bne lockbusy + strex r3, r2, [r1] + cmp r3, #0 bne tas1 DMB bx lr +lockbusy: + clrex + bx lr .size _tas, .-_tas |
