Skip to content

Commit c78b8e9

Browse files
committed
Merge pull request #664 from bureddy/master
powerpc: update mem barrier instructions
2 parents d01f37c + ed406b0 commit c78b8e9

File tree

9 files changed

+42
-1
lines changed

9 files changed

+42
-1
lines changed

opal/include/opal/sys/alpha/atomic.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ static inline void opal_atomic_wmb(void)
6363
WMB();
6464
}
6565

66+
static inline void opal_atomic_isync(void)
67+
{
68+
}
69+
6670
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
6771

6872

opal/include/opal/sys/amd64/atomic.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ static inline void opal_atomic_wmb(void)
6666
MB();
6767
}
6868

69+
static inline void opal_atomic_isync(void)
70+
{
71+
}
72+
6973
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
7074

7175

opal/include/opal/sys/arm/atomic.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ void opal_atomic_wmb(void)
8888
WMB();
8989
}
9090

91+
static inline
92+
void opal_atomic_isync(void)
93+
{
94+
}
95+
9196
#endif
9297

9398

opal/include/opal/sys/ia32/atomic.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ static inline void opal_atomic_wmb(void)
7575
MB();
7676
}
7777

78+
static inline void opal_atomic_isync(void)
79+
{
80+
}
81+
7882
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
7983

8084

opal/include/opal/sys/ia64/atomic.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ static inline void opal_atomic_wmb(void)
6161
MB();
6262
}
6363

64+
static inline void opal_atomic_isync(void)
65+
{
66+
}
6467

6568
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
6669

opal/include/opal/sys/mips/atomic.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ void opal_atomic_wmb(void)
7474
WMB();
7575
}
7676

77+
static inline
78+
void opal_atomic_isync(void)
79+
{
80+
}
81+
7782
#endif
7883

7984
/**********************************************************************

opal/include/opal/sys/osx/atomic.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ static inline void opal_atomic_wmb(void)
6767
MB();
6868
}
6969

70+
static inline void opal_atomic_isync(void)
71+
{
72+
}
73+
7074
/**********************************************************************
7175
*
7276
* Atomic math operations

opal/include/opal/sys/powerpc/atomic.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#define MB() __asm__ __volatile__ ("sync" : : : "memory")
2828
#define RMB() __asm__ __volatile__ ("lwsync" : : : "memory")
2929
#define WMB() __asm__ __volatile__ ("eieio" : : : "memory")
30+
#define ISYNC() __asm__ __volatile__ ("isync" : : : "memory")
3031
#define SMP_SYNC "sync \n\t"
3132
#define SMP_ISYNC "\n\tisync"
3233

@@ -74,7 +75,13 @@ void opal_atomic_rmb(void)
7475
static inline
7576
void opal_atomic_wmb(void)
7677
{
77-
WMB();
78+
RMB();
79+
}
80+
81+
static inline
82+
void opal_atomic_isync(void)
83+
{
84+
ISYNC();
7885
}
7986

8087
#elif OPAL_XLC_INLINE_ASSEMBLY /* end OPAL_GCC_INLINE_ASSEMBLY */

opal/include/opal/sys/sparcv9/atomic.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ static inline void opal_atomic_wmb(void)
6565
MEMBAR("#StoreStore");
6666
}
6767

68+
static inline void opal_atomic_isync(void)
69+
{
70+
}
71+
72+
6873
#endif /* OPAL_GCC_INLINE_ASSEMBLY */
6974

7075

0 commit comments

Comments
 (0)