diff options
Diffstat (limited to 'software/smp/atomic.h')
-rw-r--r-- | software/smp/atomic.h | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/software/smp/atomic.h b/software/smp/atomic.h deleted file mode 100644 index 074c6a2..0000000 --- a/software/smp/atomic.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef SIFIVE_ATOMIC_H -#define SIFIVE_ATOMIC_H - -#define ATOMIC_INIT(x) \ - { \ - .counter = (x), \ - } - -typedef struct { - int counter; -} atomic_t; - -static inline int atomic_xchg(atomic_t *v, int n) -{ - register int c; - - __asm__ __volatile__ ( - "amoswap.w.aqrl %0, %2, %1" - : "=r" (c), "+A" (v->counter) - : "r" (n)); - return c; -} - -static inline void mb(void) -{ - __asm__ __volatile__ ("fence"); -} - -#endif |