Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Dec 2008 21:33:44 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r185720 - head/sys/i386/include
Message-ID:  <200812062133.mB6LXiUD005674@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812062133.mB6LXiUD005674>