Commit | Line | Data |
---|---|---|
fd11d7af JA |
1 | #ifndef ARCH_H |
2 | #define ARCH_H | |
3 | ||
6b2a251b JA |
4 | enum { |
5 | arch_x86_64, | |
6 | arch_i386, | |
7 | arch_ppc, | |
8 | arch_ia64, | |
9 | arch_s390, | |
10 | arch_alpha, | |
11 | }; | |
12 | ||
2fa6471f JA |
13 | static inline unsigned long generic_ffz(unsigned long word) |
14 | { | |
e79c9259 | 15 | unsigned int i; |
2fa6471f JA |
16 | |
17 | for (i = 0; i < sizeof(word) * 8; i++) | |
18 | if ((word & (1UL << i)) == 0) | |
19 | return i; | |
20 | ||
21 | return -1; | |
22 | } | |
23 | ||
fd11d7af | 24 | #if defined(__i386__) |
f41ef3f6 | 25 | #include "arch-x86.h" |
fd11d7af | 26 | #elif defined(__x86_64__) |
f41ef3f6 | 27 | #include "arch-x86_64.h" |
fd11d7af | 28 | #elif defined(__powerpc__) || defined(__powerpc64__) |
f41ef3f6 | 29 | #include "arch-ppc.h" |
fd11d7af | 30 | #elif defined(__ia64__) |
f41ef3f6 | 31 | #include "arch-ia64.h" |
fd11d7af | 32 | #elif defined(__alpha__) |
f41ef3f6 | 33 | #include "arch-alpha.h" |
fd11d7af | 34 | #elif defined(__s390x__) || defined(__s390__) |
f41ef3f6 | 35 | #include "arch-s390.h" |
fd11d7af JA |
36 | #else |
37 | #error "Unsupported arch" | |
38 | #endif | |
39 | ||
98e2070c JA |
40 | #define BITS_PER_LONG (__WORDSIZE) |
41 | ||
27c32a38 JA |
42 | #ifndef BLKGETSIZE64 |
43 | #define BLKGETSIZE64 _IOR(0x12,114,size_t) | |
44 | #endif | |
45 | ||
46 | static inline int ioprio_set(int which, int who, int ioprio) | |
47 | { | |
48 | return syscall(__NR_ioprio_set, which, who, ioprio); | |
49 | } | |
50 | ||
51 | /* | |
52 | * we want fadvise64 really, but it's so tangled... later | |
53 | */ | |
54 | static inline int fadvise(int fd, loff_t offset, size_t len, int advice) | |
55 | { | |
56 | #if 0 | |
57 | return syscall(__NR_fadvise64, fd, offset, offset >> 32, len, advice); | |
58 | #else | |
59 | return posix_fadvise(fd, (off_t) offset, len, advice); | |
60 | #endif | |
61 | } | |
62 | ||
63 | enum { | |
64 | IOPRIO_WHO_PROCESS = 1, | |
65 | IOPRIO_WHO_PGRP, | |
66 | IOPRIO_WHO_USER, | |
67 | }; | |
68 | ||
69 | #define IOPRIO_CLASS_SHIFT 13 | |
70 | ||
fd11d7af | 71 | #endif |