Module Name: src Committed By: martin Date: Fri Apr 30 13:54:00 UTC 2021
Modified Files: src/common/lib/libc/arch/arm/atomic [netbsd-9]: atomic_swap.S atomic_swap_16.S atomic_swap_64.S membar_ops.S src/sys/arch/arm/include [netbsd-9]: lock.h Log Message: Pull up following revision(s) (requested by skrll in ticket #1261): sys/arch/arm/include/lock.h: revision 1.38 common/lib/libc/arch/arm/atomic/membar_ops.S: revision 1.7 common/lib/libc/arch/arm/atomic/atomic_swap_16.S: revision 1.5 common/lib/libc/arch/arm/atomic/atomic_swap_64.S: revision 1.12 common/lib/libc/arch/arm/atomic/atomic_swap.S: revision 1.17 Add the appropriate memory barrier before the lock is cleared in __sync_lock_release_{1,2,4,8}. That is, all reads and write for the inner shareability domain before the lock clear store. Improve the membar_ops barriers - no need to use dsb and wait for completion. Also, we only to act on the inner shareability domain. Fix the barrier confusion. From Riastradh - thanks!. To generate a diff of this commit: cvs rdiff -u -r1.14.18.1 -r1.14.18.2 \ src/common/lib/libc/arch/arm/atomic/atomic_swap.S cvs rdiff -u -r1.4 -r1.4.18.1 \ src/common/lib/libc/arch/arm/atomic/atomic_swap_16.S cvs rdiff -u -r1.10.18.1 -r1.10.18.2 \ src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S cvs rdiff -u -r1.6 -r1.6.28.1 \ src/common/lib/libc/arch/arm/atomic/membar_ops.S cvs rdiff -u -r1.33.8.1 -r1.33.8.2 src/sys/arch/arm/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.