PAPI 7.1.0.0
Loading...
Searching...
No Matches
pfmlib_itanium.h File Reference
Include dependency graph for pfmlib_itanium.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  pfm_ita_pmc_reg_t
 
union  pfm_ita_pmd_reg_t
 
struct  pfmlib_ita_counter_t
 
struct  pfmlib_ita_opcm_t
 
struct  pfmlib_ita_btb_t
 
struct  pfmlib_ita_ear_t
 
struct  pfmlib_ita_input_rr_desc_t
 
struct  pfmlib_ita_output_rr_desc_t
 
struct  pfmlib_ita_input_rr_t
 
struct  pfmlib_ita_output_rr_t
 
struct  pfmlib_ita_input_param_t
 
struct  pfmlib_ita_output_param_t
 

Macros

#define PMU_ITA_FIRST_COUNTER   4 /* index of first PMC/PMD counter */
 
#define PMU_ITA_NUM_COUNTERS   4 /* total numbers of PMC/PMD pairs used as counting monitors */
 
#define PMU_ITA_NUM_PMCS   14 /* total number of PMCS defined */
 
#define PMU_ITA_NUM_PMDS   18 /* total number of PMDS defined */
 
#define PMU_ITA_NUM_BTB   8 /* total number of PMDS in BTB */
 
#define PMU_ITA_COUNTER_WIDTH   32 /* hardware counter bit width */
 
#define PFMLIB_ITA_FL_EVT_NO_QUALCHECK   0x1 /* don't check qualifier constraints */
 

Enumerations

enum  pfmlib_ita_ism_t { PFMLIB_ITA_ISM_BOTH =0 , PFMLIB_ITA_ISM_IA32 =1 , PFMLIB_ITA_ISM_IA64 =2 }
 
enum  pfmlib_ita_ear_mode_t { PFMLIB_ITA_EAR_CACHE_MODE =0 , PFMLIB_ITA_EAR_TLB_MODE =1 }
 

Functions

int pfm_ita_is_ear (unsigned int i)
 
int pfm_ita_is_dear (unsigned int i)
 
int pfm_ita_is_dear_tlb (unsigned int i)
 
int pfm_ita_is_dear_cache (unsigned int i)
 
int pfm_ita_is_iear (unsigned int i)
 
int pfm_ita_is_iear_tlb (unsigned int i)
 
int pfm_ita_is_iear_cache (unsigned int i)
 
int pfm_ita_is_btb (unsigned int i)
 
int pfm_ita_support_opcm (unsigned int i)
 
int pfm_ita_support_iarr (unsigned int i)
 
int pfm_ita_support_darr (unsigned int i)
 
int pfm_ita_get_ear_mode (unsigned int i, pfmlib_ita_ear_mode_t *m)
 
int pfm_ita_get_event_maxincr (unsigned int i, unsigned int *maxincr)
 
int pfm_ita_get_event_umask (unsigned int i, unsigned long *umask)
 

Macro Definition Documentation

◆ PFMLIB_ITA_FL_EVT_NO_QUALCHECK

#define PFMLIB_ITA_FL_EVT_NO_QUALCHECK   0x1 /* don't check qualifier constraints */

Definition at line 198 of file pfmlib_itanium.h.

◆ PMU_ITA_COUNTER_WIDTH

#define PMU_ITA_COUNTER_WIDTH   32 /* hardware counter bit width */

Definition at line 43 of file pfmlib_itanium.h.

◆ PMU_ITA_FIRST_COUNTER

#define PMU_ITA_FIRST_COUNTER   4 /* index of first PMC/PMD counter */

Definition at line 38 of file pfmlib_itanium.h.

◆ PMU_ITA_NUM_BTB

#define PMU_ITA_NUM_BTB   8 /* total number of PMDS in BTB */

Definition at line 42 of file pfmlib_itanium.h.

◆ PMU_ITA_NUM_COUNTERS

#define PMU_ITA_NUM_COUNTERS   4 /* total numbers of PMC/PMD pairs used as counting monitors */

Definition at line 39 of file pfmlib_itanium.h.

◆ PMU_ITA_NUM_PMCS

#define PMU_ITA_NUM_PMCS   14 /* total number of PMCS defined */

Definition at line 40 of file pfmlib_itanium.h.

◆ PMU_ITA_NUM_PMDS

#define PMU_ITA_NUM_PMDS   18 /* total number of PMDS defined */

Definition at line 41 of file pfmlib_itanium.h.

Enumeration Type Documentation

◆ pfmlib_ita_ear_mode_t

Enumerator
PFMLIB_ITA_EAR_CACHE_MODE 
PFMLIB_ITA_EAR_TLB_MODE 

Definition at line 257 of file pfmlib_itanium.h.

257 {
258 PFMLIB_ITA_EAR_CACHE_MODE=0, /* Cache mode : I-EAR and D-EAR */
259 PFMLIB_ITA_EAR_TLB_MODE =1, /* TLB mode : I-EAR and D-EAR */
pfmlib_ita_ear_mode_t
@ PFMLIB_ITA_EAR_TLB_MODE
@ PFMLIB_ITA_EAR_CACHE_MODE

◆ pfmlib_ita_ism_t

Enumerator
PFMLIB_ITA_ISM_BOTH 
PFMLIB_ITA_ISM_IA32 
PFMLIB_ITA_ISM_IA64 

Definition at line 183 of file pfmlib_itanium.h.

183 {
184 PFMLIB_ITA_ISM_BOTH=0, /* IA-32 and IA-64 (default) */
185 PFMLIB_ITA_ISM_IA32=1, /* IA-32 only */
186 PFMLIB_ITA_ISM_IA64=2 /* IA-64 only */
pfmlib_ita_ism_t
@ PFMLIB_ITA_ISM_IA64
@ PFMLIB_ITA_ISM_IA32
@ PFMLIB_ITA_ISM_BOTH

Function Documentation

◆ pfm_ita_get_ear_mode()

int pfm_ita_get_ear_mode ( unsigned int  i,
pfmlib_ita_ear_mode_t m 
)

Definition at line 1091 of file pfmlib_itanium.c.

1092{
1093 if (!is_ear(i) || m == NULL) return PFMLIB_ERR_INVAL;
1094
1096
1097 return PFMLIB_SUCCESS;
1098}
int i
#define PFMLIB_SUCCESS
Definition: pfmlib.h:283
#define PFMLIB_ERR_INVAL
Definition: pfmlib.h:285
#define is_ear(i)
#define is_ear_tlb(i)
Here is the caller graph for this function:

◆ pfm_ita_get_event_maxincr()

int pfm_ita_get_event_maxincr ( unsigned int  i,
unsigned int maxincr 
)

Definition at line 1015 of file pfmlib_itanium.c.

1016{
1017 if (i >= PME_ITA_EVENT_COUNT || maxincr == NULL) return PFMLIB_ERR_INVAL;
1018 *maxincr = itanium_pe[i].pme_maxincr;
1019 return PFMLIB_SUCCESS;
1020}
static pme_ita_entry_t itanium_pe[]
#define PME_ITA_EVENT_COUNT
unsigned int pme_maxincr

◆ pfm_ita_get_event_umask()

int pfm_ita_get_event_umask ( unsigned int  i,
unsigned long umask 
)

Definition at line 1116 of file pfmlib_itanium.c.

1117{
1118 if (i >= PME_ITA_EVENT_COUNT || umask == NULL) return PFMLIB_ERR_INVAL;
1119 *umask = evt_umask(i);
1120 return PFMLIB_SUCCESS;
1121}
#define evt_umask(e)

◆ pfm_ita_is_btb()

int pfm_ita_is_btb ( unsigned int  i)

Definition at line 1065 of file pfmlib_itanium.c.

1066{
1067 return i >= PME_ITA_EVENT_COUNT || ! is_btb(i) ? 0 : 1;
1068}
#define is_btb(i)
Here is the caller graph for this function:

◆ pfm_ita_is_dear()

int pfm_ita_is_dear ( unsigned int  i)

Definition at line 1029 of file pfmlib_itanium.c.

1030{
1031 return i >= PME_ITA_EVENT_COUNT || ! is_dear(i) ? 0 : 1;
1032}
#define is_dear(i)
Here is the caller graph for this function:

◆ pfm_ita_is_dear_cache()

int pfm_ita_is_dear_cache ( unsigned int  i)

Definition at line 1041 of file pfmlib_itanium.c.

1042{
1043 return i >= PME_ITA_EVENT_COUNT || ! (is_dear(i) && !is_ear_tlb(i)) ? 0 : 1;
1044}

◆ pfm_ita_is_dear_tlb()

int pfm_ita_is_dear_tlb ( unsigned int  i)

Definition at line 1035 of file pfmlib_itanium.c.

1036{
1037 return i >= PME_ITA_EVENT_COUNT || ! (is_dear(i) && is_ear_tlb(i)) ? 0 : 1;
1038}

◆ pfm_ita_is_ear()

int pfm_ita_is_ear ( unsigned int  i)

Definition at line 1023 of file pfmlib_itanium.c.

1024{
1025 return i >= PME_ITA_EVENT_COUNT || ! is_ear(i) ? 0 : 1;
1026}

◆ pfm_ita_is_iear()

int pfm_ita_is_iear ( unsigned int  i)

Definition at line 1047 of file pfmlib_itanium.c.

1048{
1049 return i >= PME_ITA_EVENT_COUNT || ! is_iear(i) ? 0 : 1;
1050}
#define is_iear(i)
Here is the caller graph for this function:

◆ pfm_ita_is_iear_cache()

int pfm_ita_is_iear_cache ( unsigned int  i)

Definition at line 1059 of file pfmlib_itanium.c.

1060{
1061 return i >= PME_ITA_EVENT_COUNT || ! (is_iear(i) && !is_ear_tlb(i)) ? 0 : 1;
1062}

◆ pfm_ita_is_iear_tlb()

int pfm_ita_is_iear_tlb ( unsigned int  i)

Definition at line 1053 of file pfmlib_itanium.c.

1054{
1055 return i >= PME_ITA_EVENT_COUNT || ! (is_iear(i) && is_ear_tlb(i)) ? 0 : 1;
1056}

◆ pfm_ita_support_darr()

int pfm_ita_support_darr ( unsigned int  i)

Definition at line 1078 of file pfmlib_itanium.c.

1079{
1080 return i >= PME_ITA_EVENT_COUNT || ! has_darr(i) ? 0 : 1;
1081}
#define has_darr(i)
Here is the caller graph for this function:

◆ pfm_ita_support_iarr()

int pfm_ita_support_iarr ( unsigned int  i)

Definition at line 1071 of file pfmlib_itanium.c.

1072{
1073 return i >= PME_ITA_EVENT_COUNT || ! has_iarr(i) ? 0 : 1;
1074}
#define has_iarr(i)
Here is the caller graph for this function:

◆ pfm_ita_support_opcm()

int pfm_ita_support_opcm ( unsigned int  i)

Definition at line 1085 of file pfmlib_itanium.c.

1086{
1087 return i >= PME_ITA_EVENT_COUNT || ! has_opcm(i) ? 0 : 1;
1088}
#define has_opcm(i)
Here is the caller graph for this function: