arch: wire up preadv2/pwritev2 for more architectures
[fio.git] / arch / arch-sparc64.h
... / ...
CommitLineData
1#ifndef ARCH_SPARC64_H
2#define ARCH_SPARC64_H
3
4#define FIO_ARCH (arch_sparc64)
5
6#ifndef __NR_ioprio_set
7#define __NR_ioprio_set 196
8#define __NR_ioprio_get 218
9#endif
10
11#ifndef __NR_fadvise64
12#define __NR_fadvise64 209
13#endif
14
15#ifndef __NR_sys_splice
16#define __NR_sys_splice 232
17#define __NR_sys_tee 280
18#define __NR_sys_vmsplice 25
19#endif
20
21#ifndef __NR_preadv2
22#define __NR_preadv2 358
23#endif
24#ifndef __NR_pwritev2
25#define __NR_pwritev2 359
26#endif
27
28#define nop do { } while (0)
29
30#define membar_safe(type) \
31 do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \
32 " membar " type "\n" \
33 "1:\n" \
34 : : : "memory"); \
35 } while (0)
36
37#define read_barrier() membar_safe("#LoadLoad")
38#define write_barrier() membar_safe("#StoreStore")
39
40#endif