.. | .. |
---|
8 | 8 | |
---|
9 | 9 | void perf_regs_load(u64 *regs); |
---|
10 | 10 | |
---|
| 11 | +#define PERF_REGS_MAX PERF_REG_X86_XMM_MAX |
---|
11 | 12 | #ifndef HAVE_ARCH_X86_64_SUPPORT |
---|
12 | 13 | #define PERF_REGS_MASK ((1ULL << PERF_REG_X86_32_MAX) - 1) |
---|
13 | | -#define PERF_REGS_MAX PERF_REG_X86_32_MAX |
---|
14 | 14 | #define PERF_SAMPLE_REGS_ABI PERF_SAMPLE_REGS_ABI_32 |
---|
15 | 15 | #else |
---|
16 | 16 | #define REG_NOSUPPORT ((1ULL << PERF_REG_X86_DS) | \ |
---|
.. | .. |
---|
18 | 18 | (1ULL << PERF_REG_X86_FS) | \ |
---|
19 | 19 | (1ULL << PERF_REG_X86_GS)) |
---|
20 | 20 | #define PERF_REGS_MASK (((1ULL << PERF_REG_X86_64_MAX) - 1) & ~REG_NOSUPPORT) |
---|
21 | | -#define PERF_REGS_MAX PERF_REG_X86_64_MAX |
---|
22 | 21 | #define PERF_SAMPLE_REGS_ABI PERF_SAMPLE_REGS_ABI_64 |
---|
23 | 22 | #endif |
---|
24 | 23 | #define PERF_REG_IP PERF_REG_X86_IP |
---|
25 | 24 | #define PERF_REG_SP PERF_REG_X86_SP |
---|
26 | 25 | |
---|
27 | | -static inline const char *perf_reg_name(int id) |
---|
| 26 | +static inline const char *__perf_reg_name(int id) |
---|
28 | 27 | { |
---|
29 | 28 | switch (id) { |
---|
30 | 29 | case PERF_REG_X86_AX: |
---|
.. | .. |
---|
77 | 76 | case PERF_REG_X86_R15: |
---|
78 | 77 | return "R15"; |
---|
79 | 78 | #endif /* HAVE_ARCH_X86_64_SUPPORT */ |
---|
| 79 | + |
---|
| 80 | +#define XMM(x) \ |
---|
| 81 | + case PERF_REG_X86_XMM ## x: \ |
---|
| 82 | + case PERF_REG_X86_XMM ## x + 1: \ |
---|
| 83 | + return "XMM" #x; |
---|
| 84 | + XMM(0) |
---|
| 85 | + XMM(1) |
---|
| 86 | + XMM(2) |
---|
| 87 | + XMM(3) |
---|
| 88 | + XMM(4) |
---|
| 89 | + XMM(5) |
---|
| 90 | + XMM(6) |
---|
| 91 | + XMM(7) |
---|
| 92 | + XMM(8) |
---|
| 93 | + XMM(9) |
---|
| 94 | + XMM(10) |
---|
| 95 | + XMM(11) |
---|
| 96 | + XMM(12) |
---|
| 97 | + XMM(13) |
---|
| 98 | + XMM(14) |
---|
| 99 | + XMM(15) |
---|
| 100 | +#undef XMM |
---|
80 | 101 | default: |
---|
81 | 102 | return NULL; |
---|
82 | 103 | } |
---|