Go to the documentation of this file. 51 #define rmb() asm volatile ("sync" : : : "memory") 53 #elif defined (__s390__) 54 #define rmb() asm volatile("bcr 15,0" ::: "memory") 56 #elif defined (__sh__) 57 #if defined(__SH4A__) || defined(__SH5__) 58 #define rmb() asm volatile("synco" ::: "memory") 60 #define rmb() asm volatile("" ::: "memory") 63 #elif defined (__hppa__) 64 #define rmb() asm volatile("" ::: "memory") 66 #elif defined (__sparc__) 67 #define rmb() asm volatile("":::"memory") 69 #elif defined (__alpha__) 70 #define rmb() asm volatile("mb" ::: "memory") 72 #elif defined(__ia64__) 73 #define rmb() asm volatile ("mf" ::: "memory") 75 #elif defined(__arm__) 80 #define rmb() ((void(*)(void))0xffff0fa0)() 88 #elif defined(__aarch64__) 89 #define rmb() asm volatile("dmb ld" ::: "memory") 92 #elif defined(__mips__) 93 #define rmb() asm volatile( \ 101 #elif defined(__i386__) 102 #define rmb() asm volatile("lock; addl $0,0(%%esp)" ::: "memory") 104 #elif defined(__x86_64) 107 #define rmb() __sync_synchronize() 110 #define rmb() asm volatile("lfence":::"memory") 114 #error Need to define rmb for this architecture! 115 #error See the kernel source directory: tools/perf/perf.h file