Commit fe0065e5 authored by Paul Burton's avatar Paul Burton

MIPS: barrier: Clean up __sync() definition

Implement __sync() using the new __SYNC() infrastructure, which will
take care of not emitting an instruction for old R3k CPUs that don't
support it. The only behavioral difference is that __sync() will now
provide a compiler barrier on these old CPUs, but that seems like
reasonable behavior anyway.
Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: linux-kernel@vger.kernel.org
parent 5c12a6ef
...@@ -11,20 +11,10 @@ ...@@ -11,20 +11,10 @@
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <asm/sync.h> #include <asm/sync.h>
#ifdef CONFIG_CPU_HAS_SYNC static inline void __sync(void)
#define __sync() \ {
__asm__ __volatile__( \ asm volatile(__SYNC(full, always) ::: "memory");
".set push\n\t" \ }
".set noreorder\n\t" \
".set mips2\n\t" \
"sync\n\t" \
".set pop" \
: /* no output */ \
: /* no input */ \
: "memory")
#else
#define __sync() do { } while(0)
#endif
static inline void rmb(void) static inline void rmb(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment