Commit 6ee9ad5b authored by Alexander Kartashov's avatar Alexander Kartashov Committed by Pavel Emelyanov

arm: added the ARMv6 data barrier implementation

Signed-off-by: 's avatarAlexander Kartashov <alekskartashov@parallels.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 3a949863
......@@ -8,8 +8,17 @@ typedef struct {
/* Copied from the Linux kernel header arch/arm/include/asm/atomic.h */
#if defined(CONFIG_ARMV7)
#define smp_mb() __asm__ __volatile__ ("dmb" : : : "memory")
#elif defined(CONFIG_ARMV6)
#define smp_mb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory")
#endif
#define atomic_set(mem,v) ((mem)->counter = (v))
#define atomic_get(v) (*(volatile u32 *)&(v)->counter)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment