Go to the documentation of this file. 8 #define rmb() asm volatile ("sync" : : : "memory") 10 #elif defined (__s390__) 11 #define rmb() asm volatile("bcr 15,0" ::: "memory") 13 #elif defined (__sh__) 14 #if defined(__SH4A__) || defined(__SH5__) 15 #define rmb() asm volatile("synco" ::: "memory") 17 #define rmb() asm volatile("" ::: "memory") 20 #elif defined (__hppa__) 21 #define rmb() asm volatile("" ::: "memory") 23 #elif defined (__sparc__) 24 #define rmb() asm volatile("":::"memory") 26 #elif defined (__alpha__) 27 #define rmb() asm volatile("mb" ::: "memory") 29 #elif defined(__ia64__) 30 #define rmb() asm volatile ("mf" ::: "memory") 32 #elif defined(__arm__) 37 #define rmb() ((void(*)(void))0xffff0fa0)() 39 #elif defined(__aarch64__) 40 #define rmb() asm volatile("dmb ld" ::: "memory") 42 #elif defined(__mips__) 43 #define rmb() asm volatile( \ 51 #elif defined(__i386__) 52 #define rmb() asm volatile("lock; addl $0,0(%%esp)" ::: "memory") 54 #elif defined(__x86_64) 57 #define rmb() __sync_synchronize() 60 #define rmb() asm volatile("lfence":::"memory") 64 #error Need to define rmb for this architecture! 65 #error See the kernel source directory: tools/perf/perf.h file