Contributors: 16
	  
        
          | Author | 
          Tokens | 
          Token Proportion | 
          Commits | 
          Commit Proportion | 
        
	  
	  
        
        
          | Jiri Olsa | 
          84 | 
          39.44% | 
          3 | 
          15.00% | 
        
        
          | German Gomez | 
          36 | 
          16.90% | 
          2 | 
          10.00% | 
        
        
          | Stéphane Eranian | 
          25 | 
          11.74% | 
          2 | 
          10.00% | 
        
        
          | Ravi Bangoria | 
          13 | 
          6.10% | 
          1 | 
          5.00% | 
        
        
          | Kan Liang | 
          12 | 
          5.63% | 
          1 | 
          5.00% | 
        
        
          | Alexis Berlemont | 
          9 | 
          4.23% | 
          1 | 
          5.00% | 
        
        
          | Alexey Budankov | 
          8 | 
          3.76% | 
          1 | 
          5.00% | 
        
        
          | Andi Kleen | 
          8 | 
          3.76% | 
          1 | 
          5.00% | 
        
        
          | Ian Rogers | 
          7 | 
          3.29% | 
          1 | 
          5.00% | 
        
        
          | Sukadev Bhattiprolu | 
          3 | 
          1.41% | 
          1 | 
          5.00% | 
        
        
          | Ingo Molnar | 
          2 | 
          0.94% | 
          1 | 
          5.00% | 
        
        
          | Namhyung Kim | 
          2 | 
          0.94% | 
          1 | 
          5.00% | 
        
        
          | Greg Kroah-Hartman | 
          1 | 
          0.47% | 
          1 | 
          5.00% | 
        
        
          | Irina Tirdea | 
          1 | 
          0.47% | 
          1 | 
          5.00% | 
        
        
          | Arnaldo Carvalho de Melo | 
          1 | 
          0.47% | 
          1 | 
          5.00% | 
        
        
          | Borislav Petkov | 
          1 | 
          0.47% | 
          1 | 
          5.00% | 
        
	  
	  
        
          | Total | 
          213 | 
           | 
          20 | 
           | 
	    
	  
    
 
/* 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_MASK(b) (1ULL << (b))
#define SMPL_REG(n, b) { .name = #n, .mask = SMPL_REG_MASK(b) }
#define SMPL_REG2_MASK(b) (3ULL << (b))
#define SMPL_REG2(n, b) { .name = #n, .mask = SMPL_REG2_MASK(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))
const char *perf_reg_name(int id, const char *arch);
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, const char *arch __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 */