arch: wire up preadv2/pwritev2 for more architectures
[fio.git] / arch / arch-sparc64.h
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