diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-04-07 10:53:41 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-05-08 15:11:05 -0400 |
| commit | da6d8567512df11e0473b710c07de87efde5709c (patch) | |
| tree | 24601b1c6d8347e03517c8c24959171ba34dd3c5 /tools/include/linux | |
| parent | 42b09d7b0e3d57a92b938fde5fcb532e9a88e1ea (diff) | |
tools include: Add basic atomic.h implementation from the kernel sources
Uses the arch/x86/ kernel code for x86_64/i386, fallbacking to a gcc
intrinsics implementation that has been tested in at least sparc64.
Will be used for reference counting in tools/perf.
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
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: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-knfpjowhgyh6x4z0kfuk389j@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/include/linux')
| -rw-r--r-- | tools/include/linux/atomic.h | 6 | ||||
| -rw-r--r-- | tools/include/linux/types.h | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/tools/include/linux/atomic.h b/tools/include/linux/atomic.h new file mode 100644 index 000000000000..4e3d3d18ebab --- /dev/null +++ b/tools/include/linux/atomic.h | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | #ifndef __TOOLS_LINUX_ATOMIC_H | ||
| 2 | #define __TOOLS_LINUX_ATOMIC_H | ||
| 3 | |||
| 4 | #include <asm/atomic.h> | ||
| 5 | |||
| 6 | #endif /* __TOOLS_LINUX_ATOMIC_H */ | ||
diff --git a/tools/include/linux/types.h b/tools/include/linux/types.h index b5cf25e05df2..0bdeda66aae5 100644 --- a/tools/include/linux/types.h +++ b/tools/include/linux/types.h | |||
| @@ -60,6 +60,10 @@ typedef __u32 __bitwise __be32; | |||
| 60 | typedef __u64 __bitwise __le64; | 60 | typedef __u64 __bitwise __le64; |
| 61 | typedef __u64 __bitwise __be64; | 61 | typedef __u64 __bitwise __be64; |
| 62 | 62 | ||
| 63 | typedef struct { | ||
| 64 | int counter; | ||
| 65 | } atomic_t; | ||
| 66 | |||
| 63 | struct list_head { | 67 | struct list_head { |
| 64 | struct list_head *next, *prev; | 68 | struct list_head *next, *prev; |
| 65 | }; | 69 | }; |
