1
1

Merge pull request #664 from bureddy/master

powerpc: update mem barrier instructions
Этот коммит содержится в:
bureddy 2015-06-25 14:09:49 -07:00
родитель d01f37c063 ed406b05cb
Коммит c78b8e9b8e
9 изменённых файлов: 42 добавлений и 1 удалений

Просмотреть файл

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