Revert "Add spinlocks"
[fio.git] / arch / arch.h
index 745bf3a4d0a6260dffc37b475e3b3479e966ba48..f4eb855ebf340d8a002759c8384323cd63218a97 100644 (file)
@@ -8,19 +8,10 @@ enum {
        arch_ia64,
        arch_s390,
        arch_alpha,
+       arch_sparc,
+       arch_sparc64,
 };
 
-static inline unsigned long generic_ffz(unsigned long word)
-{
-       unsigned int i;
-
-       for (i = 0; i < sizeof(word) * 8; i++)
-               if ((word & (1UL << i)) == 0)
-                       return i;
-
-       return -1;
-}
-
 #if defined(__i386__)
 #include "arch-x86.h"
 #elif defined(__x86_64__)
@@ -33,10 +24,18 @@ static inline unsigned long generic_ffz(unsigned long word)
 #include "arch-alpha.h"
 #elif defined(__s390x__) || defined(__s390__)
 #include "arch-s390.h"
+#elif defined(__sparc__)
+#include "arch-sparc.h"
+#elif defined(__sparc64__)
+#include "arch-sparc64.h"
 #else
 #error "Unsupported arch"
 #endif
 
-#define BITS_PER_LONG  (__WORDSIZE)
+#ifdef ARCH_HAVE_FFZ
+#define ffz(bitmask)   arch_ffz(bitmask)
+#else
+#include "../lib/ffz.h"
+#endif
 
 #endif