diff --git a/sys/arm/include/atomic.h b/sys/arm/include/atomic.h --- a/sys/arm/include/atomic.h +++ b/sys/arm/include/atomic.h @@ -42,8 +42,10 @@ #include #define isb() __asm __volatile("isb" : : : "memory") -#define dsb() __asm __volatile("dsb" : : : "memory") -#define dmb() __asm __volatile("dmb" : : : "memory") +#define dsb1(opt) __asm __volatile("dsb " __STRING(opt) : : : "memory") +#define dsb(...) dsb1(__VA_ARGS__) +#define dmb1(opt) __asm __volatile("dmb " __STRING(opt) : : : "memory") +#define dmb(...) dmb1(__VA_ARGS__) #define mb() dmb() #define wmb() dmb()