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.