diff --git a/arch/microblaze/atomic.h b/arch/microblaze/atomic.h index 90fcd8b6..da9949aa 100644 --- a/arch/microblaze/atomic.h +++ b/arch/microblaze/atomic.h @@ -95,7 +95,9 @@ static inline void a_dec(volatile int *x) static inline void a_store(volatile int *p, int x) { - *p=x; + __asm__ __volatile__ ( + "swi %1, %0" + : "=m"(*p) : "r"(x) : "memory" ); } static inline void a_spin()