| #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 */ |