aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/include
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2002-05-08 05:19:56 +0000
committerJeff Roberson <jeff@FreeBSD.org>2002-05-08 05:19:56 +0000
commitc4b689f10af0284bf66260bcbee105712438abc0 (patch)
tree360977ebdec5a6e0294170f2e0d3332ba994402f /sys/alpha/include
parent8b637659da92b793e2a0cebc5cabbb8d10ac9ef8 (diff)
Notes
Diffstat (limited to 'sys/alpha/include')
-rw-r--r--sys/alpha/include/atomic.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/alpha/include/atomic.h b/sys/alpha/include/atomic.h
index 889b7e248626..93cdbf6b16a3 100644
--- a/sys/alpha/include/atomic.h
+++ b/sys/alpha/include/atomic.h
@@ -356,6 +356,7 @@ atomic_cmpset_32(volatile u_int32_t* p, u_int32_t cmpval, u_int32_t newval)
__asm __volatile (
"1:\tldl_l %0, %4\n\t" /* load old value */
+ "zapnot %0,0xf,%0\n\t" /* Chop of signed bits */
"cmpeq %0, %2, %0\n\t" /* compare */
"beq %0, 2f\n\t" /* exit if not equal */
"mov %3, %0\n\t" /* value to store */