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