[PATCH] fio: add 'directory' and 'numjobs' options
[disktools.git] / arch.h
1 #ifndef ARCH_H
2 #define ARCH_H
3
4 /*
5  * assume we don't have _get either, if _set isn't defined
6  */
7 #ifndef __NR_ioprio_set
8 #if defined(__i386__)
9 #define __NR_ioprio_set         289
10 #define __NR_ioprio_get         290
11 #elif defined(__powerpc__) || defined(__powerpc64__)
12 #define __NR_ioprio_set         273
13 #define __NR_ioprio_get         274
14 #elif defined(__x86_64__)
15 #define __NR_ioprio_set         251
16 #define __NR_ioprio_get         252
17 #elif defined(__ia64__)
18 #define __NR_ioprio_set         1274
19 #define __NR_ioprio_get         1275
20 #elif defined(__alpha__)
21 #define __NR_ioprio_set         442
22 #define __NR_ioprio_get         443
23 #elif defined(__s390x__) || defined(__s390__)
24 #define __NR_ioprio_set         282
25 #define __NR_ioprio_get         283
26 #else
27 #error "Unsupported arch"
28 #endif
29 #endif
30
31 #ifndef __NR_fadvise64
32 #if defined(__i386__)
33 #define __NR_fadvise64          250
34 #elif defined(__powerpc__) || defined(__powerpc64__)
35 #define __NR_fadvise64          233
36 #elif defined(__x86_64__)
37 #define __NR_fadvise64          221
38 #elif defined(__ia64__)
39 #define __NR_fadvise64          1234
40 #elif defined(__alpha__)
41 #define __NR_fadvise64          413
42 #elif defined(__s390x__) || defined(__s390__)
43 #define __NR_fadvise64          253
44 #else
45 #error "Unsupported arch"
46 #endif
47 #endif
48
49 #if defined(__i386__) || defined(__x86_64)
50 #define nop     __asm__ __volatile__("rep;nop": : :"memory")
51 #elif defined defined(__powerpc__) || defined(__powerpc64__)
52 #define nop     do { } while (0)
53 #elif defined(__ia64__)
54 #define nop     asm volatile ("hint @pause" ::: "memory");
55 #elif defined(__alpha__)
56 #define nop     do { } while (0)
57 #elif defined(__s390x__) || defined(__s390__)
58 #define nop     asm volatile ("diag 0,0,68" : : : "memory")
59 #else
60 #error "Unsupported arch"
61 #endif
62
63 #endif