25#ifndef __PFMLIB_AMD64_PRIV_H__
26#define __PFMLIB_AMD64_PRIV_H__
39#define PMU_AMD64_NUM_PERFSEL 8
40#define PMU_AMD64_NUM_PERFCTR 16
41#define PMU_AMD64_NUM_COUNTERS 4
42#define PMU_AMD64_NUM_COUNTERS_F15H 6
43#define PMU_AMD64_COUNTER_WIDTH 48
44#define PMU_AMD64_CNT_MASK_MAX 4
45#define PMU_AMD64_IBSFETCHCTL_PMC 6
46#define PMU_AMD64_IBSFETCHCTL_PMD 6
47#define PMU_AMD64_IBSOPCTL_PMC 7
48#define PMU_AMD64_IBSOPCTL_PMD 9
50#define PFMLIB_AMD64_MAX_UMASK 13
87 "B",
"C",
"D",
"E",
"F",
"G",
95 "AMD64 (unknown model)",
103 "AMD64 (Family 10h RevB, Barcelona)",
104 "AMD64 (Family 10h RevC, Shanghai)",
105 "AMD64 (Family 10h RevD, Istanbul)",
106 "AMD64 (Family 10h RevE)",
107 "AMD64 (Family 15h RevB)",
113#define PFMLIB_AMD64_UMASK_COMBO 0x1
114#define PFMLIB_AMD64_FROM_REV(rev) ((rev)<<8)
115#define PFMLIB_AMD64_TILL_REV(rev) ((rev)<<16)
116#define PFMLIB_AMD64_NOT_SUPP 0x1ff00
117#define PFMLIB_AMD64_TILL_K8_REV_C PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_C)
118#define PFMLIB_AMD64_K8_REV_D PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_D)
119#define PFMLIB_AMD64_K8_REV_E PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_E)
120#define PFMLIB_AMD64_TILL_K8_REV_E PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_E)
121#define PFMLIB_AMD64_K8_REV_F PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_F)
122#define PFMLIB_AMD64_TILL_FAM10H_REV_B PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_B)
123#define PFMLIB_AMD64_FAM10H_REV_C PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_C)
124#define PFMLIB_AMD64_TILL_FAM10H_REV_C PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_C)
125#define PFMLIB_AMD64_FAM10H_REV_D PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_D)
129 return ((flags) >> 8) & 0xff;
134 int till = (((flags)>>16) & 0xff);
static int from_revision(unsigned int flags)
static const char * amd64_cpu_strs[]
#define PFMLIB_AMD64_MAX_UMASK
static const char * amd64_rev_strs[]
static int till_revision(unsigned int flags)