]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r311169,r311898,r312925,r312973,r312975,r313007,r313040,r313080,
authormjg <mjg@FreeBSD.org>
Thu, 16 Mar 2017 06:00:27 +0000 (06:00 +0000)
committermjg <mjg@FreeBSD.org>
Thu, 16 Mar 2017 06:00:27 +0000 (06:00 +0000)
commitb8af6b78be197b6a24bf372442dcb6e044d729b3
tree0496f4e01ec297971a9b02afb62b80c63b0dd969
parent3100d6f6dfd7bea82a2fe7136cf72d8423b715bd
MFC r311169,r311898,r312925,r312973,r312975,r313007,r313040,r313080,
    r313254,r313341

amd64: add atomic_fcmpset

==

sparc64: add atomic_fcmpset

==

Implement atomic_fcmpset_* for arm and arm64.

==

Add atomic_fcmpset_*() inlines for powerpc

Summary:
atomic_fcmpset_*() is analogous to atomic_cmpset(), but saves off the read value
from the target memory location into the 'old' pointer in the case of failure.

==

i386: add atomic_fcmpset

==

Don't retry a lost reservation in atomic_fcmpset()

The desired behavior of atomic_fcmpset_() is to always exit on error.  Instead
of retrying on lost reservation, leave the retry to the caller, and return

==

Add atomic_fcmpset_*() inlines for MIPS

atomic_fcmpset_*() is analogous to atomic_cmpset(), but saves off the
read value from the target memory location into the 'old' pointer.

==

i386: fixup fcmpset

An incorrect output specifier was used which worked with clang by accident,
but breaks with the in-tree gcc version.

While here plug a whitespace nit.

==

Implement atomic_fcmpset_*() for RISC-V.

==

Use 64bit store instruction in atomic_fcmpset_64.
sys/amd64/include/atomic.h
sys/arm/include/atomic-v4.h
sys/arm/include/atomic-v6.h
sys/arm/include/atomic.h
sys/arm64/include/atomic.h
sys/i386/include/atomic.h
sys/mips/include/atomic.h
sys/powerpc/include/atomic.h
sys/riscv/include/atomic.h
sys/sparc64/include/atomic.h