|
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__ */
|