Module Name: src Committed By: thorpej Date: Wed Aug 25 13:28:51 UTC 2021
Modified Files: src/sys/arch/alpha/alpha: lock_stubs.s src/sys/arch/sparc64/sparc64: lock_stubs.s Log Message: G/C _lock_cas(); it is no longer needed (kern_mutex.c uses atomic_cas_ulong() with appropriate memory barriers). To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/alpha/alpha/lock_stubs.s cvs rdiff -u -r1.9 -r1.10 src/sys/arch/sparc64/sparc64/lock_stubs.s 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/alpha/alpha/lock_stubs.s diff -u src/sys/arch/alpha/alpha/lock_stubs.s:1.9 src/sys/arch/alpha/alpha/lock_stubs.s:1.10 --- src/sys/arch/alpha/alpha/lock_stubs.s:1.9 Wed Jul 14 02:18:10 2021 +++ src/sys/arch/alpha/alpha/lock_stubs.s Wed Aug 25 13:28:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lock_stubs.s,v 1.9 2021/07/14 02:18:10 thorpej Exp $ */ +/* $NetBSD: lock_stubs.s,v 1.10 2021/08/25 13:28:51 thorpej Exp $ */ /*- * Copyright (c) 2007, 2021 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ #include <machine/asm.h> -__KERNEL_RCSID(0, "$NetBSD: lock_stubs.s,v 1.9 2021/07/14 02:18:10 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: lock_stubs.s,v 1.10 2021/08/25 13:28:51 thorpej Exp $"); #include "assym.h" @@ -48,27 +48,6 @@ __KERNEL_RCSID(0, "$NetBSD: lock_stubs.s #define MB(label) /* nothing */ #endif -/* - * int _lock_cas(uintptr_t *ptr, uintptr_t old, uintptr_t new) - */ -LEAF(_lock_cas, 3) -1: - mov a2, v0 - ldq_l t1, 0(a0) - cmpeq t1, a1, t1 - beq t1, 2f - stq_c v0, 0(a0) - beq v0, 3f - MB(.L__lock_cas_mb_1) - RET -2: - mov zero, v0 - MB(.L__lock_cas_mb_2) - RET -3: - br 1b - END(_lock_cas) - #if !defined(LOCKDEBUG) /* @@ -396,8 +375,6 @@ LEAF(rw_exit, 1) .section ".rodata" .globl lock_stub_patch_table lock_stub_patch_table: - .quad .L__lock_cas_mb_1 - .quad .L__lock_cas_mb_2 #if !defined(LOCKDEBUG) .quad .L_mutex_enter_mb_1 .quad .L_mutex_exit_mb_1 Index: src/sys/arch/sparc64/sparc64/lock_stubs.s diff -u src/sys/arch/sparc64/sparc64/lock_stubs.s:1.9 src/sys/arch/sparc64/sparc64/lock_stubs.s:1.10 --- src/sys/arch/sparc64/sparc64/lock_stubs.s:1.9 Sun Apr 28 23:42:23 2013 +++ src/sys/arch/sparc64/sparc64/lock_stubs.s Wed Aug 25 13:28:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lock_stubs.s,v 1.9 2013/04/28 23:42:23 nakayama Exp $ */ +/* $NetBSD: lock_stubs.s,v 1.10 2021/08/25 13:28:51 thorpej Exp $ */ /*- * Copyright (c) 2002, 2006 The NetBSD Foundation, Inc. @@ -48,18 +48,6 @@ #define MB_MEM /* nothing */ #endif -/* - * int _lock_cas(uintptr_t *ptr, uintptr_t old, uintptr_t new); - */ -.align 32 -ENTRY(_lock_cas) - CASPTR [%o0], %o1, %o2 ! compare-and-swap - MB_MEM - xor %o1, %o2, %o2 ! expected == actual? - clr %o0 - retl - movrz %o2, 1, %o0 - #if !defined(LOCKDEBUG) /*