]> git.droids-corp.org - dpdk.git/blobdiff - lib/librte_eal/common/include/arch/ppc_64/rte_spinlock.h
eal: switch to architecture specific pause function
[dpdk.git] / lib / librte_eal / common / include / arch / ppc_64 / rte_spinlock.h
index cf8b81ad3f0bcffc23fb88cfd8325aa4309bb38f..39815d9ee4d5a091fbc0b84015a2b5a130c41fa6 100644 (file)
@@ -38,6 +38,7 @@ extern "C" {
 #endif
 
 #include <rte_common.h>
+#include <rte_pause.h>
 #include "generic/rte_spinlock.h"
 
 /* Fixme: Use intrinsics to implement the spinlock on Power architecture */
@@ -61,11 +62,52 @@ rte_spinlock_unlock(rte_spinlock_t *sl)
 static inline int
 rte_spinlock_trylock(rte_spinlock_t *sl)
 {
-       return (__sync_lock_test_and_set(&sl->locked, 1) == 0);
+       return __sync_lock_test_and_set(&sl->locked, 1) == 0;
 }
 
 #endif
 
+static inline int rte_tm_supported(void)
+{
+       return 0;
+}
+
+static inline void
+rte_spinlock_lock_tm(rte_spinlock_t *sl)
+{
+       rte_spinlock_lock(sl); /* fall-back */
+}
+
+static inline int
+rte_spinlock_trylock_tm(rte_spinlock_t *sl)
+{
+       return rte_spinlock_trylock(sl);
+}
+
+static inline void
+rte_spinlock_unlock_tm(rte_spinlock_t *sl)
+{
+       rte_spinlock_unlock(sl);
+}
+
+static inline void
+rte_spinlock_recursive_lock_tm(rte_spinlock_recursive_t *slr)
+{
+       rte_spinlock_recursive_lock(slr); /* fall-back */
+}
+
+static inline void
+rte_spinlock_recursive_unlock_tm(rte_spinlock_recursive_t *slr)
+{
+       rte_spinlock_recursive_unlock(slr);
+}
+
+static inline int
+rte_spinlock_recursive_trylock_tm(rte_spinlock_recursive_t *slr)
+{
+       return rte_spinlock_recursive_trylock(slr);
+}
+
 #ifdef __cplusplus
 }
 #endif