From eed13523785e3894f7a8000d2595b550d1884e55 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Sat, 12 Feb 2022 03:19:54 +0000 Subject: [PATCH] mips: Eradicate last vestiges of bonkers mb_* barriers. --- common/lib/libc/arch/mips/atomic/membar_ops.S | 10 ---- sys/arch/mips/include/lock.h | 55 +------------------ 2 files changed, 1 insertion(+), 64 deletions(-) diff --git a/common/lib/libc/arch/mips/atomic/membar_ops.S b/common/lib/libc/arch/mips/atomic/membar_ops.S index 03fcb5a32e0b..ecdc8ecbdf6b 100644 --- a/common/lib/libc/arch/mips/atomic/membar_ops.S +++ b/common/lib/libc/arch/mips/atomic/membar_ops.S @@ -46,16 +46,6 @@ LEAF(_membar_producer) END(_membar_producer) #endif -#ifdef _KERNEL -STRONG_ALIAS(mb_read, _membar_sync) -#ifdef __OCTEON__ -STRONG_ALIAS(mb_write, _membar_producer) -#else -STRONG_ALIAS(mb_write, _membar_sync) -#endif -STRONG_ALIAS(mb_memory, _membar_sync) -#endif - ATOMIC_OP_ALIAS(membar_sync,_membar_sync) ATOMIC_OP_ALIAS(membar_enter,_membar_sync) STRONG_ALIAS(_membar_enter,_membar_sync) diff --git a/sys/arch/mips/include/lock.h b/sys/arch/mips/include/lock.h index 4317bd1af8e8..7446465433cc 100644 --- a/sys/arch/mips/include/lock.h +++ b/sys/arch/mips/include/lock.h @@ -98,58 +98,11 @@ __cpu_simple_lock_try(__cpu_simple_lock_t *lp) return (v0 != 0); } -#ifdef MIPS1 -static __inline void -mb_read(void) -{ - __insn_barrier(); -} - -static __inline void -mb_write(void) -{ - __insn_barrier(); -} - -static __inline void -mb_memory(void) -{ - __insn_barrier(); -} -#else /* MIPS1*/ -static __inline void -mb_read(void) -{ - __asm volatile( - " .set push \n" - " .set mips2 \n" - " sync \n" - " .set pop" - ::: "memory" - ); -} - -static __inline void -mb_write(void) -{ - mb_read(); -} - -static __inline void -mb_memory(void) -{ - mb_read(); -} -#endif /* MIPS1 */ - #else /* !_HARDKERNEL */ u_int _atomic_cas_uint(volatile u_int *, u_int, u_int); u_long _atomic_cas_ulong(volatile u_long *, u_long, u_long); void * _atomic_cas_ptr(volatile void *, void *, void *); -void mb_read(void); -void mb_write(void); -void mb_memory(void); static __inline int __cpu_simple_lock_try(__cpu_simple_lock_t *lp) @@ -167,7 +120,6 @@ __cpu_simple_lock_init(__cpu_simple_lock_t *lp) { *lp = __SIMPLELOCK_UNLOCKED; - mb_memory(); } static __inline void @@ -184,13 +136,8 @@ static __inline void __cpu_simple_unlock(__cpu_simple_lock_t *lp) { -#ifndef _MIPS_ARCH_OCTEONP - mb_memory(); -#endif + membar_exit(); *lp = __SIMPLELOCK_UNLOCKED; -#ifdef _MIPS_ARCH_OCTEONP - mb_write(); -#endif } #endif /* _MIPS_LOCK_H_ */