#define nop do { } while (0)
-static inline int __ilog2(unsigned long bitmask)
-{
- int lz;
-
- asm ("cntlzw %0,%1" : "=r" (lz) : "r" (bitmask));
- return 31 - lz;
-}
-
-static inline int ffz(unsigned long bitmask)
-{
- if ((bitmask = ~bitmask) == 0)
- return 32;
- return __ilog2(bitmask & -bitmask);
-}
+#ifdef __powerpc64__
+#define read_barrier() \
+ __asm__ __volatile__ ("lwsync" : : : "memory")
+#else
+#define read_barrier() \
+ __asm__ __volatile__ ("sync" : : : "memory")
+#endif
#endif