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

Go to the source code of this file.

Data Structures

struct  pme_amd64_umask_t
 
struct  pme_amd64_entry_t
 

Macros

#define PMU_AMD64_NUM_PERFSEL   8 /* number of PMCs defined */
 
#define PMU_AMD64_NUM_PERFCTR   16 /* number of PMDs defined */
 
#define PMU_AMD64_NUM_COUNTERS   4 /* number of EvtSel/EvtCtr */
 
#define PMU_AMD64_NUM_COUNTERS_F15H   6 /* number of EvtSel/EvtCtr */
 
#define PMU_AMD64_COUNTER_WIDTH   48 /* hw counter bit width */
 
#define PMU_AMD64_CNT_MASK_MAX   4 /* max cnt_mask value */
 
#define PMU_AMD64_IBSFETCHCTL_PMC   6 /* IBS: fetch PMC base */
 
#define PMU_AMD64_IBSFETCHCTL_PMD   6 /* IBS: fetch PMD base */
 
#define PMU_AMD64_IBSOPCTL_PMC   7 /* IBS: op PMC base */
 
#define PMU_AMD64_IBSOPCTL_PMD   9 /* IBS: op PMD base */
 
#define PFMLIB_AMD64_MAX_UMASK   13
 
#define PFMLIB_AMD64_UMASK_COMBO   0x1 /* unit mask can be combined */
 
#define PFMLIB_AMD64_FROM_REV(rev)   ((rev)<<8)
 
#define PFMLIB_AMD64_TILL_REV(rev)   ((rev)<<16)
 
#define PFMLIB_AMD64_NOT_SUPP   0x1ff00
 
#define PFMLIB_AMD64_TILL_K8_REV_C   PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_C)
 
#define PFMLIB_AMD64_K8_REV_D   PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_D)
 
#define PFMLIB_AMD64_K8_REV_E   PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_E)
 
#define PFMLIB_AMD64_TILL_K8_REV_E   PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_E)
 
#define PFMLIB_AMD64_K8_REV_F   PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_F)
 
#define PFMLIB_AMD64_TILL_FAM10H_REV_B   PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_B)
 
#define PFMLIB_AMD64_FAM10H_REV_C   PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_C)
 
#define PFMLIB_AMD64_TILL_FAM10H_REV_C   PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_C)
 
#define PFMLIB_AMD64_FAM10H_REV_D   PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_D)
 

Enumerations

enum  amd64_rev_t {
  AMD64_CPU_UN , AMD64_K7 , AMD64_K8_REV_B , AMD64_K8_REV_C ,
  AMD64_K8_REV_D , AMD64_K8_REV_E , AMD64_K8_REV_F , AMD64_K8_REV_G ,
  AMD64_FAM10H_REV_B , AMD64_FAM10H_REV_C , AMD64_FAM10H_REV_D , AMD64_FAM10H_REV_E ,
  AMD64_FAM15H_REV_B
}
 

Functions

static int from_revision (unsigned int flags)
 
static int till_revision (unsigned int flags)
 

Variables

static const char * amd64_rev_strs []
 
static const char * amd64_cpu_strs []
 

Macro Definition Documentation

◆ PFMLIB_AMD64_FAM10H_REV_C

#define PFMLIB_AMD64_FAM10H_REV_C   PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_C)

Definition at line 123 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_FAM10H_REV_D

#define PFMLIB_AMD64_FAM10H_REV_D   PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_D)

Definition at line 125 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_FROM_REV

#define PFMLIB_AMD64_FROM_REV (   rev)    ((rev)<<8)

Definition at line 114 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_K8_REV_D

#define PFMLIB_AMD64_K8_REV_D   PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_D)

Definition at line 118 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_K8_REV_E

#define PFMLIB_AMD64_K8_REV_E   PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_E)

Definition at line 119 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_K8_REV_F

#define PFMLIB_AMD64_K8_REV_F   PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_F)

Definition at line 121 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_MAX_UMASK

#define PFMLIB_AMD64_MAX_UMASK   13

Definition at line 50 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_NOT_SUPP

#define PFMLIB_AMD64_NOT_SUPP   0x1ff00

Definition at line 116 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_TILL_FAM10H_REV_B

#define PFMLIB_AMD64_TILL_FAM10H_REV_B   PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_B)

Definition at line 122 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_TILL_FAM10H_REV_C

#define PFMLIB_AMD64_TILL_FAM10H_REV_C   PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_C)

Definition at line 124 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_TILL_K8_REV_C

#define PFMLIB_AMD64_TILL_K8_REV_C   PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_C)

Definition at line 117 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_TILL_K8_REV_E

#define PFMLIB_AMD64_TILL_K8_REV_E   PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_E)

Definition at line 120 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_TILL_REV

#define PFMLIB_AMD64_TILL_REV (   rev)    ((rev)<<16)

Definition at line 115 of file pfmlib_amd64_priv.h.

◆ PFMLIB_AMD64_UMASK_COMBO

#define PFMLIB_AMD64_UMASK_COMBO   0x1 /* unit mask can be combined */

Definition at line 113 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_CNT_MASK_MAX

#define PMU_AMD64_CNT_MASK_MAX   4 /* max cnt_mask value */

Definition at line 44 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_COUNTER_WIDTH

#define PMU_AMD64_COUNTER_WIDTH   48 /* hw counter bit width */

Definition at line 43 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_IBSFETCHCTL_PMC

#define PMU_AMD64_IBSFETCHCTL_PMC   6 /* IBS: fetch PMC base */

Definition at line 45 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_IBSFETCHCTL_PMD

#define PMU_AMD64_IBSFETCHCTL_PMD   6 /* IBS: fetch PMD base */

Definition at line 46 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_IBSOPCTL_PMC

#define PMU_AMD64_IBSOPCTL_PMC   7 /* IBS: op PMC base */

Definition at line 47 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_IBSOPCTL_PMD

#define PMU_AMD64_IBSOPCTL_PMD   9 /* IBS: op PMD base */

Definition at line 48 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_NUM_COUNTERS

#define PMU_AMD64_NUM_COUNTERS   4 /* number of EvtSel/EvtCtr */

Definition at line 41 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_NUM_COUNTERS_F15H

#define PMU_AMD64_NUM_COUNTERS_F15H   6 /* number of EvtSel/EvtCtr */

Definition at line 42 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_NUM_PERFCTR

#define PMU_AMD64_NUM_PERFCTR   16 /* number of PMDs defined */

Definition at line 40 of file pfmlib_amd64_priv.h.

◆ PMU_AMD64_NUM_PERFSEL

#define PMU_AMD64_NUM_PERFSEL   8 /* number of PMCs defined */

Definition at line 39 of file pfmlib_amd64_priv.h.

Enumeration Type Documentation

◆ amd64_rev_t

Enumerator
AMD64_CPU_UN 
AMD64_K7 
AMD64_K8_REV_B 
AMD64_K8_REV_C 
AMD64_K8_REV_D 
AMD64_K8_REV_E 
AMD64_K8_REV_F 
AMD64_K8_REV_G 
AMD64_FAM10H_REV_B 
AMD64_FAM10H_REV_C 
AMD64_FAM10H_REV_D 
AMD64_FAM10H_REV_E 
AMD64_FAM15H_REV_B 

Definition at line 68 of file pfmlib_amd64_priv.h.

68 {
amd64_rev_t
@ AMD64_K8_REV_E
@ AMD64_FAM10H_REV_D
@ AMD64_FAM10H_REV_B
@ AMD64_FAM10H_REV_C
@ AMD64_K8_REV_F
@ AMD64_K8_REV_C
@ AMD64_CPU_UN
@ AMD64_K7
@ AMD64_FAM10H_REV_E
@ AMD64_FAM15H_REV_B
@ AMD64_K8_REV_D
@ AMD64_K8_REV_G
@ AMD64_K8_REV_B

Function Documentation

◆ from_revision()

static int from_revision ( unsigned int  flags)
inlinestatic

Definition at line 127 of file pfmlib_amd64_priv.h.

128{
129 return ((flags) >> 8) & 0xff;
130}
Here is the caller graph for this function:

◆ till_revision()

static int till_revision ( unsigned int  flags)
inlinestatic

Definition at line 132 of file pfmlib_amd64_priv.h.

133{
134 int till = (((flags)>>16) & 0xff);
135 if (!till)
136 return 0xff;
137 return till;
138}
Here is the caller graph for this function:

Variable Documentation

◆ amd64_cpu_strs

const char* amd64_cpu_strs[]
static
Initial value:
= {
"AMD64 (unknown model)",
"AMD64 (K7)",
"AMD64 (K8 RevB)",
"AMD64 (K8 RevC)",
"AMD64 (K8 RevD)",
"AMD64 (K8 RevE)",
"AMD64 (K8 RevF)",
"AMD64 (K8 RevG)",
"AMD64 (Family 10h RevB, Barcelona)",
"AMD64 (Family 10h RevC, Shanghai)",
"AMD64 (Family 10h RevD, Istanbul)",
"AMD64 (Family 10h RevE)",
"AMD64 (Family 15h RevB)",
}

Definition at line 94 of file pfmlib_amd64_priv.h.

◆ amd64_rev_strs

const char* amd64_rev_strs[]
static
Initial value:
= {
"?", "?",
"B", "C", "D", "E", "F", "G",
"B", "C", "D", "E",
"B",
}

Definition at line 84 of file pfmlib_amd64_priv.h.