History log of /netbsd-src/common/lib/libc/arch/arm/atomic/atomic_op_asm.h (Results 1 – 9 of 9)
Revision Date Author Comments
# 3fc2996b 28-Jul-2021 simonb <simonb@NetBSD.org>

#define<tab> consistency.


# 8e8c0784 28-Jul-2021 skrll <skrll@NetBSD.org>

Remove memory barriers from the atomic_ops(3) atomic operations. They're
not needed for correctness.

Add the correct memory barriers to the gcc legacy __sync built-in
functions for atomic memory ac

Remove memory barriers from the atomic_ops(3) atomic operations. They're
not needed for correctness.

Add the correct memory barriers to the gcc legacy __sync built-in
functions for atomic memory access. From the gcc documentation:

In most cases, these built-in functions are considered a full barrier.
That is, no memory operand is moved across the operation, either forward
or backward. Further, instructions are issued as necessary to prevent the
processor from speculating loads across the operation and from queuing
stores after the operation.

type __sync_lock_test_and_set (type *ptr, type value, ...)

This built-in function is not a full barrier, but rather an acquire
barrier. This means that references after the operation cannot move to
(or be speculated to) before the operation, but previous memory stores
may not be globally visible yet, and previous memory loads may not yet
be satisfied.

void __sync_lock_release (type *ptr, ...)

This built-in function is not a full barrier, but rather a release
barrier. This means that all previous memory stores are globally
visible, and all previous memory loads have been satisfied, but
following memory reads are not prevented from being speculated to
before the barrier.

show more ...


# a58be5d1 16-Sep-2019 skrll <skrll@NetBSD.org>

Traiing whitespace.


# b4bb7421 17-May-2015 justin <justin@NetBSD.org>

Do not build arm toolchain symbols in the rump kernel

These symbols will be provided at link time and will be
duplicate symbols in rump kernel and libc if defined.

Many have been fixed previously,

Do not build arm toolchain symbols in the rump kernel

These symbols will be provided at link time and will be
duplicate symbols in rump kernel and libc if defined.

Many have been fixed previously, but these were missed
as did not have a test.

show more ...


# ab7ecd2c 04-Mar-2014 matt <matt@NetBSD.org>

Don't export __sync* if _KERNEL || _STANDALONE are defined.
(except if _RUMPKERNEL is defined)


# b290679a 22-Feb-2014 martin <martin@NetBSD.org>

Try to hide the C runtime implementation specific __sync_* ops from librump,
to avoid duplicates.


# 918e319d 08-Nov-2013 matt <matt@NetBSD.org>

Add support for the gcc __sync builtins.
Note that these need earmv6 or later to get the ldrex/strex instructions


# b9b9bd89 11-Sep-2012 matt <matt@NetBSD.org>

Add 64bit atomic ops for ARMv6+ (using ldrexd/strexd).


# c7572a70 16-Aug-2008 matt <matt@NetBSD.org>

Add assembly versions of atomic ops with ldrex/strex