Sun Feb 27 19:22:20 2022 UTC ()
mips: Redefine LLSCSYNC as empty on non-Octeon MP.

This change deletes memory barriers on non-Octeon MP.  However, all
the appropriate acquire and release barriers are already used in
mutex stubs, and no barriers are needed in atomic_* unless we set
__HAVE_ATOMIC_AS_MEMBAR which we don't on MIPS.  So this should be
safe.

Unclear whether we need this even on Octeon -- don't have a clear
reference on why it's here.


(riastradh)
diff -r1.68 -r1.69 src/sys/arch/mips/include/asm.h

cvs diff -r1.68 -r1.69 src/sys/arch/mips/include/asm.h (expand / switch to context diff)
--- src/sys/arch/mips/include/asm.h 2022/02/27 19:22:12 1.68
+++ src/sys/arch/mips/include/asm.h 2022/02/27 19:22:20 1.69
@@ -1,4 +1,4 @@
-/*	$NetBSD: asm.h,v 1.68 2022/02/27 19:22:12 riastradh Exp $	*/
+/*	$NetBSD: asm.h,v 1.69 2022/02/27 19:22:20 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -581,7 +581,7 @@
 #define	BDSYNC_PLUNGER	sync 4
 #define	SYNC_PLUNGER	sync 4
 #elif __mips >= 3 || !defined(__mips_o32)
-#define	LLSCSYNC	sync
+#define	LLSCSYNC	/* nothing */
 #define	BDSYNC		sync
 #define	BDSYNC_ACQ	sync
 #define	SYNC_ACQ	sync