Module Name:    src
Committed By:   riastradh
Date:           Fri Nov 29 20:06:34 UTC 2019

Modified Files:
        src/sys/arch/sparc/include: lock.h
        src/sys/arch/sparc64/include: mutex.h

Log Message:
Nix mb_* on sparc and sparc64.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/sparc/include/lock.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/sparc64/include/mutex.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/sparc/include/lock.h
diff -u src/sys/arch/sparc/include/lock.h:1.32 src/sys/arch/sparc/include/lock.h:1.33
--- src/sys/arch/sparc/include/lock.h:1.32	Sun Sep 17 00:01:08 2017
+++ src/sys/arch/sparc/include/lock.h	Fri Nov 29 20:06:34 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: lock.h,v 1.32 2017/09/17 00:01:08 christos Exp $ */
+/*	$NetBSD: lock.h,v 1.33 2019/11/29 20:06:34 riastradh Exp $ */
 
 /*-
  * Copyright (c) 1998, 1999, 2006 The NetBSD Foundation, Inc.
@@ -140,46 +140,4 @@ __cpu_simple_unlock(__cpu_simple_lock_t 
 	*alp = __SIMPLELOCK_UNLOCKED;
 }
 
-#if defined(__sparc_v9__)
-static __inline void
-mb_read(void)
-{
-	__asm __volatile("membar #LoadLoad" : : : "memory");
-}
-
-static __inline void
-mb_write(void)
-{
-	__asm __volatile("" : : : "memory");
-}
-
-static __inline void
-mb_memory(void)
-{
-	__asm __volatile("membar #MemIssue" : : : "memory");
-}
-#else	/* __sparc_v9__ */
-static __inline void
-mb_read(void)
-{
-	static volatile int junk;
-	__asm volatile("st %%g0,[%0]"
-	    :
-	    : "r" (&junk)
-	    : "memory");
-}
-
-static __inline void
-mb_write(void)
-{
-	__insn_barrier();
-}
-
-static __inline void
-mb_memory(void)
-{
-	mb_read();
-}
-#endif	/* __sparc_v9__ */
-
 #endif /* _MACHINE_LOCK_H */

Index: src/sys/arch/sparc64/include/mutex.h
diff -u src/sys/arch/sparc64/include/mutex.h:1.4 src/sys/arch/sparc64/include/mutex.h:1.5
--- src/sys/arch/sparc64/include/mutex.h:1.4	Mon Apr 28 20:23:37 2008
+++ src/sys/arch/sparc64/include/mutex.h	Fri Nov 29 20:06:34 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: mutex.h,v 1.4 2008/04/28 20:23:37 martin Exp $	*/
+/*	$NetBSD: mutex.h,v 1.5 2019/11/29 20:06:34 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2007 The NetBSD Foundation, Inc.
@@ -55,7 +55,11 @@ struct kmutex {
 #define __HAVE_MUTEX_STUBS		1
 #define	__HAVE_SIMPLE_MUTEXES		1
 
-#define	MUTEX_RECEIVE(mtx)		mb_read()
+/*
+ * XXX Should this be LoadLoad|LoadStore, or does the assumption of a
+ * preceding atomic r/m/w operation obviate the need for that?
+ */
+#define	MUTEX_RECEIVE(mtx) __asm __volatile("membar #LoadLoad" : : : "memory")
 
 /*
  * MUTEX_GIVE: no memory barrier required, as _lock_cas() will take care of it.

Reply via email to