| #ifndef _ASM_POWERPC_SYNCH_H | |
| #define _ASM_POWERPC_SYNCH_H | |
| #ifdef __KERNEL__ | |
| #include <linux/stringify.h> | |
| #ifdef __powerpc64__ | |
| #define __SUBARCH_HAS_LWSYNC | |
| #endif | |
| #ifdef __SUBARCH_HAS_LWSYNC | |
| # define LWSYNC lwsync | |
| #else | |
| # define LWSYNC sync | |
| #endif | |
| #ifdef CONFIG_SMP | |
| #define ISYNC_ON_SMP "\n\tisync\n" | |
| #define LWSYNC_ON_SMP __stringify(LWSYNC) "\n" | |
| #else | |
| #define ISYNC_ON_SMP | |
| #define LWSYNC_ON_SMP | |
| #endif | |
| static inline void eieio(void) | |
| { | |
| __asm__ __volatile__ ("eieio" : : : "memory"); | |
| } | |
| static inline void isync(void) | |
| { | |
| __asm__ __volatile__ ("isync" : : : "memory"); | |
| } | |
| #endif /* __KERNEL__ */ | |
| #endif /* _ASM_POWERPC_SYNCH_H */ |