8 static inline int a_ll(volatile int *p)
12 __asm__ __volatile__ (
13 ".set push ; .set mips2\n\t"
18 __asm__ __volatile__ (
20 : "=r"(v) : LLSC_M(*p));
26 static inline int a_sc(volatile int *p, int v)
30 __asm__ __volatile__ (
31 ".set push ; .set mips2\n\t"
34 : "=r"(r), "=m"(*p) : "0"(v) : "memory");
36 __asm__ __volatile__ (
38 : "=r"(r), "="LLSC_M(*p) : "0"(v) : "memory");
43 #define a_barrier a_barrier
44 static inline void a_barrier()
46 __asm__ __volatile__ ("sync" : : : "memory");
49 #define a_pre_llsc a_barrier
50 #define a_post_llsc a_barrier