patch-2.4.17 linux/arch/sparc64/lib/bitops.S

Next file: linux/arch/sparc64/lib/blockops.S
Previous file: linux/arch/sparc64/lib/atomic.S
Back to the patch index
Back to the overall index

diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.16/arch/sparc64/lib/bitops.S linux/arch/sparc64/lib/bitops.S
@@ -1,4 +1,4 @@
-/* $Id: bitops.S,v 1.2 2001/04/14 01:12:02 davem Exp $
+/* $Id: bitops.S,v 1.3 2001/11/18 00:12:56 davem Exp $
  * bitops.S: Sparc64 atomic bit operations.
  *
  * Copyright (C) 2000 David S. Miller (davem@redhat.com)
@@ -28,7 +28,7 @@
 	bne,a,pn %xcc, 1b
 	 ldx	[%o1], %g7
 2:	retl
-	 nop
+	 membar	#StoreLoad | #StoreStore
 
 	.globl	___test_and_clear_bit
 ___test_and_clear_bit:	/* %o0=nr, %o1=addr */
@@ -47,7 +47,7 @@
 	bne,a,pn %xcc, 1b
 	 ldx	[%o1], %g7
 2:	retl
-	 nop
+	 membar	#StoreLoad | #StoreStore
 
 	.globl	___test_and_change_bit
 ___test_and_change_bit:	/* %o0=nr, %o1=addr */
@@ -65,7 +65,7 @@
 	bne,a,pn %xcc, 1b
 	 ldx	[%o1], %g7
 2:	retl
-	 nop
+	 membar	#StoreLoad | #StoreStore
 	nop
 
 	.globl	___test_and_set_le_bit
@@ -85,7 +85,7 @@
 	bne,a,pn %icc, 1b
 	 lduwa	[%o1] ASI_PL, %g7
 2:	retl
-	 nop
+	 membar	#StoreLoad | #StoreStore
 
 	.globl	___test_and_clear_le_bit
 ___test_and_clear_le_bit:	/* %o0=nr, %o1=addr */
@@ -104,7 +104,7 @@
 	bne,a,pn %icc, 1b
 	 lduwa	[%o1] ASI_PL, %g7
 2:	retl
-	 nop
+	 membar	#StoreLoad | #StoreStore
 
 	.globl	__bitops_end
 __bitops_end:

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)