aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/dev/dtrace
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2015-03-05 18:03:42 +0000
committerAndrew Turner <andrew@FreeBSD.org>2015-03-05 18:03:42 +0000
commitbe9bc81174e748c3e7a6506d0e217af6ab506730 (patch)
treee8efda26a65f3e6d836f4e1f9aed24e835a1f01e /sys/cddl/dev/dtrace
parent4a8169d97b36df6420959c773a502fd5cfb25bfc (diff)
Notes
Diffstat (limited to 'sys/cddl/dev/dtrace')
-rw-r--r--sys/cddl/dev/dtrace/arm/dtrace_asm.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/cddl/dev/dtrace/arm/dtrace_asm.S b/sys/cddl/dev/dtrace/arm/dtrace_asm.S
index 9cbf1172d556..ce27b1410c6e 100644
--- a/sys/cddl/dev/dtrace/arm/dtrace_asm.S
+++ b/sys/cddl/dev/dtrace/arm/dtrace_asm.S
@@ -208,12 +208,10 @@ EENTRY(dtrace_casptr)
1: ldrex r3, [r0] /* Load target */
cmp r3, r1 /* Check if *target == cmp */
bne 2f /* No, return */
- strex r3, r2, [r0] /* Store new to target */
- cmp r3, #0 /* Did the store succeed? */
+ strex ip, r2, [r0] /* Store new to target */
+ cmp ip, #0 /* Did the store succeed? */
bne 1b /* No, try again */
- mov r0, r2 /* Return the new value of the store */
-2: movne r0, r3 /* The first compare failed, return */
- /* the value loaded from memory */
+2: mov r0, r3 /* Return the value loaded from target */
RET
EEND(dtrace_casptr)
END(dtrace_cas32)