Merge pull request #664 from bureddy/master
powerpc: update mem barrier instructions
Этот коммит содержится в:
Коммит
c78b8e9b8e
@ -63,6 +63,10 @@ static inline void opal_atomic_wmb(void)
|
||||
WMB();
|
||||
}
|
||||
|
||||
static inline void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
|
||||
|
||||
|
||||
|
@ -66,6 +66,10 @@ static inline void opal_atomic_wmb(void)
|
||||
MB();
|
||||
}
|
||||
|
||||
static inline void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
|
||||
|
||||
|
||||
|
@ -88,6 +88,11 @@ void opal_atomic_wmb(void)
|
||||
WMB();
|
||||
}
|
||||
|
||||
static inline
|
||||
void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -75,6 +75,10 @@ static inline void opal_atomic_wmb(void)
|
||||
MB();
|
||||
}
|
||||
|
||||
static inline void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
|
||||
|
||||
|
||||
|
@ -61,6 +61,9 @@ static inline void opal_atomic_wmb(void)
|
||||
MB();
|
||||
}
|
||||
|
||||
static inline void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
|
||||
|
||||
|
@ -74,6 +74,11 @@ void opal_atomic_wmb(void)
|
||||
WMB();
|
||||
}
|
||||
|
||||
static inline
|
||||
void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/**********************************************************************
|
||||
|
@ -67,6 +67,10 @@ static inline void opal_atomic_wmb(void)
|
||||
MB();
|
||||
}
|
||||
|
||||
static inline void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* Atomic math operations
|
||||
|
@ -27,6 +27,7 @@
|
||||
#define MB() __asm__ __volatile__ ("sync" : : : "memory")
|
||||
#define RMB() __asm__ __volatile__ ("lwsync" : : : "memory")
|
||||
#define WMB() __asm__ __volatile__ ("eieio" : : : "memory")
|
||||
#define ISYNC() __asm__ __volatile__ ("isync" : : : "memory")
|
||||
#define SMP_SYNC "sync \n\t"
|
||||
#define SMP_ISYNC "\n\tisync"
|
||||
|
||||
@ -74,7 +75,13 @@ void opal_atomic_rmb(void)
|
||||
static inline
|
||||
void opal_atomic_wmb(void)
|
||||
{
|
||||
WMB();
|
||||
RMB();
|
||||
}
|
||||
|
||||
static inline
|
||||
void opal_atomic_isync(void)
|
||||
{
|
||||
ISYNC();
|
||||
}
|
||||
|
||||
#elif OPAL_XLC_INLINE_ASSEMBLY /* end OPAL_GCC_INLINE_ASSEMBLY */
|
||||
|
@ -65,6 +65,11 @@ static inline void opal_atomic_wmb(void)
|
||||
MEMBAR("#StoreStore");
|
||||
}
|
||||
|
||||
static inline void opal_atomic_isync(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
|
||||
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user