svn commit: r185720 - head/sys/i386/include

Konstantin Belousov kib at FreeBSD.org
Sat Dec 6 13:33:45 PST 2008


Author: kib
Date: Sat Dec  6 21:33:44 2008
New Revision: 185720
URL: http://svn.freebsd.org/changeset/base/185720

Log:
  Restore memory clobber, to cause mb on the compiler level too.
  Use more sane formatting of the assembler.
  
  Pointed out by:	bde

Modified:
  head/sys/i386/include/atomic.h

Modified: head/sys/i386/include/atomic.h
==============================================================================
--- head/sys/i386/include/atomic.h	Sat Dec  6 21:19:26 2008	(r185719)
+++ head/sys/i386/include/atomic.h	Sat Dec  6 21:33:44 2008	(r185720)
@@ -32,9 +32,9 @@
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
 
-#define	mb()	__asm __volatile("lock;addl	$0,(%esp)")
-#define	wmb()	__asm __volatile("lock;addl	$0,(%esp)")
-#define	rmb()	__asm __volatile("lock;addl	$0,(%esp)")
+#define	mb()	__asm __volatile("lock; addl $0,(%%esp)" : : : "memory")
+#define	wmb()	__asm __volatile("lock; addl $0,(%%esp)" : : : "memory")
+#define	rmb()	__asm __volatile("lock; addl $0,(%%esp)" : : : "memory")
 
 /*
  * Various simple operations on memory, each of which is atomic in the


More information about the svn-src-all mailing list