musl/arch
Rich Felker b17fbd3520 improve aarch64 atomics
aarch64 provides ll/sc variants with acquire/release memory order,
freeing us from the need to have full barriers both before and after
the ll/sc operation. previously they were not used because the a_cas
can fail without performing a_sc, in which case half of the barrier
would be omitted. instead, define a custom version of a_cas for
aarch64 which uses a_barrier explicitly when aborting the cas
operation. aside from cas, other operations built on top of ll/sc are
not affected since they never abort but rather loop until they
succeed.

a split ll/sc version of the pointer-sized a_cas_p is also introduced
using the same technique.

patch by Szabolcs Nagy.
2016-01-23 14:03:40 -05:00
..
aarch64 improve aarch64 atomics 2016-01-23 14:03:40 -05:00
arm move arm-specific translation units out of arch/arm/src, to src/*/arm 2016-01-22 00:02:21 +00:00
i386 clean up i386 atomics for new atomics framework 2016-01-22 00:16:53 +00:00
microblaze refactor internal atomic.h 2016-01-21 19:08:54 +00:00
mips overhaul mips atomics for new atomics framework 2016-01-22 00:10:40 +00:00
or1k refactor internal atomic.h 2016-01-21 19:08:54 +00:00
powerpc overhaul powerpc atomics for new atomics framework 2016-01-22 02:58:32 +00:00
sh remove sh port's __fpscr_values source file 2016-01-22 03:50:58 +00:00
x32 move x32 sysinfo impl and syscall fixup code out of arch/x32/src 2016-01-22 03:39:07 +00:00
x86_64 clean up x86_64 (and x32) atomics for new atomics framework 2016-01-22 00:53:09 +00:00