1#ifndef ARCH_ARM_H 2#define ARCH_ARM_H 3 4#define FIO_ARCH (arch_arm) 5 6#ifndef __NR_ioprio_set 7#define __NR_ioprio_set 314 8#define __NR_ioprio_get 315 9#endif 10 11#ifndef __NR_fadvise64 12#define __NR_fadvise64 270 13#endif 14 15#ifndef __NR_sys_splice 16#define __NR_sys_splice 340 17#define __NR_sys_tee 342 18#define __NR_sys_vmsplice 343 19#endif 20 21#if defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__) \ 22 || defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5E__)\ 23 || defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) \ 24 || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) 25#define nop __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t") 26#define read_barrier() __asm__ __volatile__ ("" : : : "memory") 27#define write_barrier() __asm__ __volatile__ ("" : : : "memory") 28#elif defined(__ARM_ARCH_7A__) 29#define nop __asm__ __volatile__ ("nop") 30#define read_barrier() __sync_synchronize() 31#define write_barrier() __sync_synchronize() 32#endif 33 34#endif 35