From ea205656bd772598a2bbd53a7beacaecae201b96 Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Thu, 13 Aug 2015 14:53:29 +0000 Subject: [PATCH] Instead of having separate do_sync functions for ARM_ARCH 6 vs. ARM_ARCH >= 7, use the dmb() macro defined in machine/atomic.h Submitted by: Steve Kiernan Reviewed by: imp@ Differential Revision: https://reviews.freebsd.org/D3355 --- sys/arm/arm/stdatomic.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sys/arm/arm/stdatomic.c b/sys/arm/arm/stdatomic.c index 211f26ac75f..3c0b99729f6 100644 --- a/sys/arm/arm/stdatomic.c +++ b/sys/arm/arm/stdatomic.c @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -67,19 +68,12 @@ do_sync(void) __asm volatile ("" : : : "memory"); } -#elif __ARM_ARCH >= 7 -static inline void -do_sync(void) -{ - - __asm volatile ("dmb" : : : "memory"); -} #elif __ARM_ARCH >= 6 static inline void do_sync(void) { - __asm volatile ("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory"); + dmb(); } #endif