aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include/linux/kernel.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-07-03 15:40:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-07-03 15:40:46 -0400
commit7447d56217e215e50317f308aee1ed293ac4f749 (patch)
tree903832ecb206ae83160992c6aec40c624821941f /tools/include/linux/kernel.h
parent892ad5acca0b2ddb514fae63fa4686bf726d2471 (diff)
parent23acd3e1a0a377cf3730ccb753aa1fdc50378396 (diff)
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf updates from Ingo Molnar: "Most of the changes are for tooling, the main changes in this cycle were: - Improve Intel-PT hardware tracing support, both on the kernel and on the tooling side: PTWRITE instruction support, power events for C-state tracing, etc. (Adrian Hunter) - Add support to measure SMI cost to the x86 architecture, with tooling support in 'perf stat' (Kan Liang) - Support function filtering in 'perf ftrace', plus related improvements (Namhyung Kim) - Allow adding and removing fields to the default 'perf script' columns, using + or - as field prefixes to do so (Andi Kleen) - Allow resolving the DSO name with 'perf script -F brstack{sym,off},dso' (Mark Santaniello) - Add perf tooling unwind support for PowerPC (Paolo Bonzini) - ... and various other improvements as well" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (84 commits) perf auxtrace: Add CPU filter support perf intel-pt: Do not use TSC packets for calculating CPU cycles to TSC perf intel-pt: Update documentation to include new ptwrite and power events perf intel-pt: Add example script for power events and PTWRITE perf intel-pt: Synthesize new power and "ptwrite" events perf intel-pt: Move code in intel_pt_synth_events() to simplify attr setting perf intel-pt: Factor out intel_pt_set_event_name() perf intel-pt: Tidy messages into called function intel_pt_synth_event() perf intel-pt: Tidy Intel PT evsel lookup into separate function perf intel-pt: Join needlessly wrapped lines perf intel-pt: Remove unused instructions_sample_period perf intel-pt: Factor out common code synthesizing event samples perf script: Add synthesized Intel PT power and ptwrite events perf/x86/intel: Constify the 'lbr_desc[]' array and make a function static perf script: Add 'synth' field for synthesized event payloads perf auxtrace: Add itrace option to output power events perf auxtrace: Add itrace option to output ptwrite events tools include: Add byte-swapping macros to kernel.h perf script: Add 'synth' event type for synthesized events x86/insn: perf tools: Add new ptwrite instruction ...
Diffstat (limited to 'tools/include/linux/kernel.h')
-rw-r--r--tools/include/linux/kernel.h35
1 files changed, 29 insertions, 6 deletions
diff --git a/tools/include/linux/kernel.h b/tools/include/linux/kernel.h
index 801b927499f2..77d2e94ca5df 100644
--- a/tools/include/linux/kernel.h
+++ b/tools/include/linux/kernel.h
@@ -5,6 +5,8 @@
5#include <stddef.h> 5#include <stddef.h>
6#include <assert.h> 6#include <assert.h>
7#include <linux/compiler.h> 7#include <linux/compiler.h>
8#include <endian.h>
9#include <byteswap.h>
8 10
9#ifndef UINT_MAX 11#ifndef UINT_MAX
10#define UINT_MAX (~0U) 12#define UINT_MAX (~0U)
@@ -68,12 +70,33 @@
68#endif 70#endif
69#endif 71#endif
70 72
71/* 73#if __BYTE_ORDER == __BIG_ENDIAN
72 * Both need more care to handle endianness 74#define cpu_to_le16 bswap_16
73 * (Don't use bitmap_copy_le() for now) 75#define cpu_to_le32 bswap_32
74 */ 76#define cpu_to_le64 bswap_64
75#define cpu_to_le64(x) (x) 77#define le16_to_cpu bswap_16
76#define cpu_to_le32(x) (x) 78#define le32_to_cpu bswap_32
79#define le64_to_cpu bswap_64
80#define cpu_to_be16
81#define cpu_to_be32
82#define cpu_to_be64
83#define be16_to_cpu
84#define be32_to_cpu
85#define be64_to_cpu
86#else
87#define cpu_to_le16
88#define cpu_to_le32
89#define cpu_to_le64
90#define le16_to_cpu
91#define le32_to_cpu
92#define le64_to_cpu
93#define cpu_to_be16 bswap_16
94#define cpu_to_be32 bswap_32
95#define cpu_to_be64 bswap_64
96#define be16_to_cpu bswap_16
97#define be32_to_cpu bswap_32
98#define be64_to_cpu bswap_64
99#endif
77 100
78int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); 101int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
79int scnprintf(char * buf, size_t size, const char * fmt, ...); 102int scnprintf(char * buf, size_t size, const char * fmt, ...);