[Midnightbsd-cvs] src [8918] trunk/sys/cddl/dev/dtrace/dtrace_debug.c: define dtrace_cmpset_long in terms of atomic_cmpset_long.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Mon Sep 26 18:53:56 EDT 2016


Revision: 8918
          http://svnweb.midnightbsd.org/src/?rev=8918
Author:   laffer1
Date:     2016-09-26 18:53:56 -0400 (Mon, 26 Sep 2016)
Log Message:
-----------
define dtrace_cmpset_long in terms of atomic_cmpset_long.

Modified Paths:
--------------
    trunk/sys/cddl/dev/dtrace/dtrace_debug.c

Modified: trunk/sys/cddl/dev/dtrace/dtrace_debug.c
===================================================================
--- trunk/sys/cddl/dev/dtrace/dtrace_debug.c	2016-09-26 22:53:11 UTC (rev 8917)
+++ trunk/sys/cddl/dev/dtrace/dtrace_debug.c	2016-09-26 22:53:56 UTC (rev 8918)
@@ -31,50 +31,10 @@
 
 #ifdef DEBUG
 
-#if defined(__amd64__)
-static __inline int
-dtrace_cmpset_long(volatile u_long *dst, u_long exp, u_long src)
-{
-	u_char res;
+#include <machine/atomic.h>
 
-	__asm __volatile(
-	"	 lock ; 		"
-	"	cmpxchgq %2,%1 ;	"
-	"       sete	%0 ;		"
-	"1:				"
-	"# dtrace_cmpset_long"
-	: "=a" (res),			/* 0 */
-	  "=m" (*dst)			/* 1 */
-	: "r" (src),			/* 2 */
-	  "a" (exp),			/* 3 */
-	  "m" (*dst)			/* 4 */
-	: "memory");
+#define	dtrace_cmpset_long	atomic_cmpset_long
 
-	return (res);
-}
-#elif defined(__i386__)
-static __inline int
-dtrace_cmpset_long(volatile u_long *dst, u_long exp, u_long src)
-{
-	u_char res;
-
-	__asm __volatile(
-	"        lock ;            	"
-	"       cmpxchgl %2,%1 ;        "
-	"       sete    %0 ;            "
-	"1:                             "
-	"# dtrace_cmpset_long"
-	: "=a" (res),                   /* 0 */
-	  "=m" (*dst)                   /* 1 */
-	: "r" (src),                    /* 2 */
-	  "a" (exp),                    /* 3 */
-	  "m" (*dst)                    /* 4 */
-	: "memory");
-
-	return (res);
-}
-#endif
-
 #define DTRACE_DEBUG_BUFR_SIZE	(32 * 1024)
 
 struct dtrace_debug_data {



More information about the Midnightbsd-cvs mailing list