--- /dev/null
+#ifndef ARCH_ALPHA_H
+#define ARCH_ALPHA_H
+
+#ifndef __NR_ioprio_set
+#define __NR_ioprio_set 442
+#define __NR_ioprio_get 443
+#endif
+
+#ifndef __NR_fadvise64
+#define __NR_fadvise64 413
+#endif
+
+#define nop do { } while (0)
+
+#endif
--- /dev/null
+#ifndef ARCH_IA64_H
+#define ARCH_IA64_H
+
+#ifndef __NR_ioprio_set
+#define __NR_ioprio_set 1274
+#define __NR_ioprio_get 1275
+#endif
+
+#ifndef __NR_fadvise64
+#define __NR_fadvise64 1234
+#endif
+
+#define nop asm volatile ("hint @pause" ::: "memory");
+
+#define ia64_popcnt(x) \
+({ \
+ unsigned long ia64_intri_res; \
+ asm ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \
+ ia64_intri_res; \
+})
+
+static inline unsigned long ffz(unsigned long bitmask)
+{
+ return ia64_popcnt(bitmask & (~bitmask - 1));
+}
+
+#endif
--- /dev/null
+#ifndef ARCH_PPC_H
+#define ARCH_PPH_H
+
+#ifndef __NR_ioprio_set
+#define __NR_ioprio_set 273
+#define __NR_ioprio_get 274
+#endif
+
+#ifndef __NR_fadvise64
+#define __NR_fadvise64 233
+#endif
+
+#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);
+}
+
+#endif
--- /dev/null
+#ifndef ARCH_S390_H
+#define ARCH_S390_H
+
+#ifndef __NR_ioprio_set
+#define __NR_ioprio_set 282
+#define __NR_ioprio_get 283
+#endif
+
+#ifndef __NR_fadvise64
+#define __NR_fadvise64 253
+#endif
+
+#define nop asm volatile ("diag 0,0,68" : : : "memory")
+
+#endif
--- /dev/null
+#ifndef ARCH_X86_H
+#define ARCH_X86_H
+
+
+#ifndef __NR_ioprio_set
+#define __NR_ioprio_set 289
+#define __NR_ioprio_get 290
+#endif
+
+#ifndef __NR_fadvise64
+#define __NR_fadvise64 250
+#endif
+
+#define nop __asm__ __volatile__("rep;nop": : :"memory")
+
+static inline unsigned long ffz(unsigned long bitmask)
+{
+ __asm__("bsfl %1,%0" :"=r" (bitmask) :"r" (~bitmask));
+ return bitmask;
+}
+
+#endif
--- /dev/null
+#ifndef ARCH_X86_64_h
+#define ARCH_X86_64_h
+
+#ifndef __NR_ioprio_set
+#define __NR_ioprio_set 251
+#define __NR_ioprio_get 252
+#endif
+
+#ifndef __NR_fadvise64
+#define __NR_fadvise64 221
+#endif
+
+#define nop __asm__ __volatile__("rep;nop": : :"memory")
+
+static inline unsigned long ffz(unsigned long bitmask)
+{
+ __asm__("bsfq %1,%0" :"=r" (bitmask) :"r" (~bitmask));
+ return bitmask;
+}
+
+
+#endif
#include <sys/ioctl.h>
#include <asm/unistd.h>
#include <asm/types.h>
-#include <asm/bitops.h>
#include "arch.h"
#include "list.h"
gettimeofday(&start, NULL);
while (utime_since_now(&start) < usec)
- __asm__ __volatile__("rep;nop": : :"memory");
+ nop;
}
static void usec_sleep(int usec)