Blame src/libpfm4/lib/pfmlib_sparc_priv.h

Packit 577717
#ifndef __PFMLIB_SPARC_PRIV_H__
Packit 577717
#define __PFMLIB_SPARC_PRIV_H__
Packit 577717
Packit 577717
typedef struct {
Packit 577717
	char			*uname;	/* mask name */
Packit 577717
	char			*udesc;	/* mask description */
Packit 577717
	int			ubit;	/* umask bit position */
Packit 577717
} sparc_mask_t;
Packit 577717
Packit 577717
#define EVENT_MASK_BITS		8
Packit 577717
typedef struct {
Packit 577717
	char			*name;	/* event name */
Packit 577717
	char			*desc;	/* event description */
Packit 577717
	char			ctrl;	/* S0 or S1 */
Packit 577717
	char			__pad;
Packit 577717
	int			code;	/* S0/S1 encoding */
Packit 577717
	int			numasks;	/* number of entries in masks */
Packit 577717
	sparc_mask_t		umasks[EVENT_MASK_BITS];
Packit 577717
} sparc_entry_t;
Packit 577717
Packit 577717
typedef union {
Packit 577717
	unsigned int val;
Packit 577717
	struct {
Packit 577717
		unsigned int	ctrl_s0   : 1;
Packit 577717
		unsigned int	ctrl_s1   : 1;
Packit 577717
		unsigned int	reserved1 : 14;
Packit 577717
		unsigned int	code	  : 8;
Packit 577717
		unsigned int	umask	  : 8;
Packit 577717
	} config;
Packit 577717
} pfm_sparc_reg_t;
Packit 577717
Packit 577717
#define PME_CTRL_S0		1
Packit 577717
#define PME_CTRL_S1		2
Packit 577717
Packit 577717
#define SPARC_ATTR_K	0
Packit 577717
#define SPARC_ATTR_U	1
Packit 577717
#define SPARC_ATTR_H	2
Packit 577717
Packit 577717
#define SPARC_PLM (PFM_PLM0|PFM_PLM3)
Packit 577717
#define NIAGARA2_PLM (SPARC_PLM|PFM_PLMH)
Packit 577717
Packit 577717
extern int pfm_sparc_detect(void *this);
Packit 577717
extern int pfm_sparc_get_encoding(void *this, pfmlib_event_desc_t *e);
Packit 577717
extern int pfm_sparc_get_event_first(void *this);
Packit 577717
extern int pfm_sparc_get_event_next(void *this, int idx);
Packit 577717
extern int pfm_sparc_event_is_valid(void *this, int pidx);
Packit 577717
extern int pfm_sparc_validate_table(void *this, FILE *fp);
Packit 577717
extern int pfm_sparc_get_event_attr_info(void *this, int pidx, int attr_idx, pfmlib_event_attr_info_t *info);
Packit 577717
extern int pfm_sparc_get_event_info(void *this, int idx, pfm_event_info_t *info);
Packit 577717
extern unsigned int pfm_sparc_get_event_nattrs(void *this, int pidx);
Packit 577717
Packit 577717
extern void pfm_sparc_perf_validate_pattrs(void *this, pfmlib_event_desc_t *e);
Packit 577717
extern int pfm_sparc_get_perf_encoding(void *this, pfmlib_event_desc_t *e);
Packit 577717
#endif /* __PFMLIB_SPARC_PRIV_H__ */