Implement AO_nop_full/write using 'dmb' instruction if available (gcc/arm)
authorIvan Maidanski <ivmai@mail.ru>
Mon, 7 Jan 2013 08:52:59 +0000 (12:52 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Mon, 7 Jan 2013 08:52:59 +0000 (12:52 +0400)
commita0331cba3659b81b3f071c7083b84bb94fc3b212
tree15bce2698a1bc3455bd7b7e16981ca8d59d5eab8
parent9f4a38ec06a037a709e2324304c2f89b3f41e55a
Implement AO_nop_full/write using 'dmb' instruction if available (gcc/arm)

* src/atomic_ops/sysdeps/gcc/arm.h (AO_ARM_HAVE_DMB): New macro
(defined for ARMv6M and ARMv7+).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full): Update comment;
use "dmb" instruction if AO_ARM_HAVE_DMB (and not AO_UNIPROCESSOR).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_write): Implement using
"dmb st" instruction and define AO_HAVE_nop_write (only if
AO_ARM_HAVE_DMB and not AO_UNIPROCESSOR).
src/atomic_ops/sysdeps/gcc/arm.h