diff options
Diffstat (limited to 'arch/powerpc/include/asm/synch.h')
| -rw-r--r-- | arch/powerpc/include/asm/synch.h | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/powerpc/include/asm/synch.h b/arch/powerpc/include/asm/synch.h index 28f6ddbff4c..d7cab44643c 100644 --- a/arch/powerpc/include/asm/synch.h +++ b/arch/powerpc/include/asm/synch.h @@ -37,11 +37,15 @@ static inline void isync(void)  #endif  #ifdef CONFIG_SMP -#define ISYNC_ON_SMP	"\n\tisync\n" -#define LWSYNC_ON_SMP	stringify_in_c(LWSYNC) "\n" +#define __PPC_ACQUIRE_BARRIER				\ +	START_LWSYNC_SECTION(97);			\ +	isync;						\ +	MAKE_LWSYNC_SECTION_ENTRY(97, __lwsync_fixup); +#define PPC_ACQUIRE_BARRIER	"\n" stringify_in_c(__PPC_ACQUIRE_BARRIER) +#define PPC_RELEASE_BARRIER	stringify_in_c(LWSYNC) "\n"  #else -#define ISYNC_ON_SMP -#define LWSYNC_ON_SMP +#define PPC_ACQUIRE_BARRIER +#define PPC_RELEASE_BARRIER  #endif  #endif /* __KERNEL__ */  |