summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emu/Linux/arm-tas-v7.S9
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