Contributors: 15
Author |
Tokens |
Token Proportion |
Commits |
Commit Proportion |
Jiri Olsa |
84 |
46.93% |
3 |
16.67% |
Stéphane Eranian |
26 |
14.53% |
2 |
11.11% |
Ravi Bangoria |
13 |
7.26% |
1 |
5.56% |
Kan Liang |
12 |
6.70% |
1 |
5.56% |
Andi Kleen |
9 |
5.03% |
1 |
5.56% |
Alexis Berlemont |
9 |
5.03% |
1 |
5.56% |
Alexey Budankov |
8 |
4.47% |
1 |
5.56% |
Ian Rogers |
7 |
3.91% |
1 |
5.56% |
Sukadev Bhattiprolu |
3 |
1.68% |
1 |
5.56% |
Namhyung Kim |
2 |
1.12% |
1 |
5.56% |
Ingo Molnar |
2 |
1.12% |
1 |
5.56% |
Borislav Petkov |
1 |
0.56% |
1 |
5.56% |
Arnaldo Carvalho de Melo |
1 |
0.56% |
1 |
5.56% |
Irina Tirdea |
1 |
0.56% |
1 |
5.56% |
Greg Kroah-Hartman |
1 |
0.56% |
1 |
5.56% |
Total |
179 |
|
18 |
|
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __PERF_REGS_H
#define __PERF_REGS_H
#include <linux/types.h>
#include <linux/compiler.h>
struct regs_dump;
struct sample_reg {
const char *name;
uint64_t mask;
};
#define SMPL_REG(n, b) { .name = #n, .mask = 1ULL << (b) }
#define SMPL_REG2(n, b) { .name = #n, .mask = 3ULL << (b) }
#define SMPL_REG_END { .name = NULL }
enum {
SDT_ARG_VALID = 0,
SDT_ARG_SKIP,
};
int arch_sdt_arg_parse_op(char *old_op, char **new_op);
uint64_t arch__intr_reg_mask(void);
uint64_t arch__user_reg_mask(void);
#ifdef HAVE_PERF_REGS_SUPPORT
extern const struct sample_reg sample_reg_masks[];
#include <perf_regs.h>
#define DWARF_MINIMAL_REGS ((1ULL << PERF_REG_IP) | (1ULL << PERF_REG_SP))
int perf_reg_value(u64 *valp, struct regs_dump *regs, int id);
#else
#define PERF_REGS_MASK 0
#define PERF_REGS_MAX 0
#define DWARF_MINIMAL_REGS PERF_REGS_MASK
static inline const char *perf_reg_name(int id __maybe_unused)
{
return "unknown";
}
static inline int perf_reg_value(u64 *valp __maybe_unused,
struct regs_dump *regs __maybe_unused,
int id __maybe_unused)
{
return 0;
}
#endif /* HAVE_PERF_REGS_SUPPORT */
#endif /* __PERF_REGS_H */