Revert "Add spinlocks"
[fio.git] / arch / arch-ppc.h
CommitLineData
ebac4655
JA
1#ifndef ARCH_PPC_H
2#define ARCH_PPH_H
3
4#define ARCH (arch_ppc)
5
6#ifndef __NR_ioprio_set
7#define __NR_ioprio_set 273
8#define __NR_ioprio_get 274
9#endif
10
11#ifndef __NR_fadvise64
12#define __NR_fadvise64 233
13#endif
14
8756e4d4
JA
15#ifndef __NR_sys_splice
16#define __NR_sys_splice 283
17#define __NR_sys_tee 284
18#define __NR_sys_vmsplice 285
19#endif
20
ebac4655
JA
21#define nop do { } while (0)
22
db6defc7 23#ifdef __powerpc64__
44c47feb 24#define read_barrier() __asm__ __volatile__ ("lwsync" : : : "memory")
db6defc7 25#else
44c47feb 26#define read_barrier() __asm__ __volatile__ ("sync" : : : "memory")
db6defc7
JA
27#endif
28
44c47feb
JA
29#define write_barrier() __asm__ __volatile__ ("sync" : : : "memory")
30
8f7e39dd
JA
31static inline int __ilog2(unsigned long bitmask)
32{
33 int lz;
34
35 asm ("cntlzw %0,%1" : "=r" (lz) : "r" (bitmask));
36 return 31 - lz;
37}
38
39static inline int arch_ffz(unsigned long bitmask)
40{
41 if ((bitmask = ~bitmask) == 0)
42 return 32;
43 return __ilog2(bitmask & -bitmask);
44}
45#define ARCH_HAVE_FFZ
46
ebac4655 47#endif