-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf/x86: Add list of register names
This patch adds a way to locate a register identifier (PERF_X86_REG_*) based on its name, e.g., AX. This will be used by a subsequent patch to improved flexibility of perf record. Signed-off-by: Stephane Eranian <eranian@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Kan Liang <kan.liang@intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1441039273-16260-3-git-send-email-eranian@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
- Loading branch information
Stephane Eranian
authored and
Arnaldo Carvalho de Melo
committed
Aug 31, 2015
1 parent
fc36f94
commit c5e991e
Showing
3 changed files
with
38 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
#include "../../perf.h" | ||
#include "../../util/perf_regs.h" | ||
|
||
#define REG(n, b) { .name = #n, .mask = 1ULL << (b) } | ||
#define REG_END { .name = NULL } | ||
const struct sample_reg sample_reg_masks[] = { | ||
REG(AX, PERF_REG_X86_AX), | ||
REG(BX, PERF_REG_X86_BX), | ||
REG(CX, PERF_REG_X86_CX), | ||
REG(DX, PERF_REG_X86_DX), | ||
REG(SI, PERF_REG_X86_SI), | ||
REG(DI, PERF_REG_X86_DI), | ||
REG(BP, PERF_REG_X86_BP), | ||
REG(SP, PERF_REG_X86_SP), | ||
REG(IP, PERF_REG_X86_IP), | ||
REG(FLAGS, PERF_REG_X86_FLAGS), | ||
REG(CS, PERF_REG_X86_CS), | ||
REG(SS, PERF_REG_X86_SS), | ||
#ifdef HAVE_ARCH_X86_64_SUPPORT | ||
REG(R8, PERF_REG_X86_R8), | ||
REG(R9, PERF_REG_X86_R9), | ||
REG(R10, PERF_REG_X86_R10), | ||
REG(R11, PERF_REG_X86_R11), | ||
REG(R12, PERF_REG_X86_R12), | ||
REG(R13, PERF_REG_X86_R13), | ||
REG(R14, PERF_REG_X86_R14), | ||
REG(R15, PERF_REG_X86_R15), | ||
#endif | ||
REG_END | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters