Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tools: Move arm(64) barrier.h stuff to tools/arch/arm*/include/asm/barrier.h

We will need it for atomic.h, so move it from the ad-hoc tools/perf/
place to a tools/ subset of the kernel arch/ hierarchy.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-cgfhreaejd7ohitdjccu9k2o@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+33 -10
+12
tools/arch/arm/include/asm/barrier.h
··· 1 + #ifndef _TOOLS_LINUX_ASM_ARM_BARRIER_H 2 + #define _TOOLS_LINUX_ASM_ARM_BARRIER_H 3 + 4 + /* 5 + * Use the __kuser_memory_barrier helper in the CPU helper page. See 6 + * arch/arm/kernel/entry-armv.S in the kernel source for details. 7 + */ 8 + #define mb() ((void(*)(void))0xffff0fa0)() 9 + #define wmb() ((void(*)(void))0xffff0fa0)() 10 + #define rmb() ((void(*)(void))0xffff0fa0)() 11 + 12 + #endif /* _TOOLS_LINUX_ASM_ARM_BARRIER_H */
+16
tools/arch/arm64/include/asm/barrier.h
··· 1 + #ifndef _TOOLS_LINUX_ASM_AARCH64_BARRIER_H 2 + #define _TOOLS_LINUX_ASM_AARCH64_BARRIER_H 3 + 4 + /* 5 + * From tools/perf/perf-sys.h, last modified in: 6 + * f428ebd184c82a7914b2aa7e9f868918aaf7ea78 perf tools: Fix AAAAARGH64 memory barriers 7 + * 8 + * XXX: arch/arm64/include/asm/barrier.h in the kernel sources use dsb, is this 9 + * a case like for arm32 where we do things differently in userspace? 10 + */ 11 + 12 + #define mb() asm volatile("dmb ish" ::: "memory") 13 + #define wmb() asm volatile("dmb ishst" ::: "memory") 14 + #define rmb() asm volatile("dmb ishld" ::: "memory") 15 + 16 + #endif /* _TOOLS_LINUX_ASM_AARCH64_BARRIER_H */
+4
tools/include/asm/barrier.h
··· 1 1 #if defined(__i386__) || defined(__x86_64__) 2 2 #include "../../arch/x86/include/asm/barrier.h" 3 + #elif defined(__arm__) 4 + #include "../../arch/arm/include/asm/barrier.h" 5 + #elif defined(__aarch64__) 6 + #include "../../arch/arm64/include/asm/barrier.h" 3 7 #elif defined(__powerpc__) 4 8 #include "../../arch/powerpc/include/asm/barrier.h" 5 9 #elif defined(__s390__)
+1
tools/perf/MANIFEST
··· 1 1 tools/perf 2 2 tools/arch/alpha/include/asm/barrier.h 3 + tools/arch/arm/include/asm/barrier.h 3 4 tools/arch/ia64/include/asm/barrier.h 4 5 tools/arch/powerpc/include/asm/barrier.h 5 6 tools/arch/s390/include/asm/barrier.h
-10
tools/perf/perf-sys.h
··· 70 70 #endif 71 71 72 72 #ifdef __arm__ 73 - /* 74 - * Use the __kuser_memory_barrier helper in the CPU helper page. See 75 - * arch/arm/kernel/entry-armv.S in the kernel source for details. 76 - */ 77 - #define mb() ((void(*)(void))0xffff0fa0)() 78 - #define wmb() ((void(*)(void))0xffff0fa0)() 79 - #define rmb() ((void(*)(void))0xffff0fa0)() 80 73 #define CPUINFO_PROC {"model name", "Processor"} 81 74 #endif 82 75 83 76 #ifdef __aarch64__ 84 - #define mb() asm volatile("dmb ish" ::: "memory") 85 - #define wmb() asm volatile("dmb ishst" ::: "memory") 86 - #define rmb() asm volatile("dmb ishld" ::: "memory") 87 77 #define cpu_relax() asm volatile("yield" ::: "memory") 88 78 #endif 89 79