34 #define PFMLIB_VERSION (3 << 16 | 9)
35 #define PFMLIB_MAJ_VERSION(v) ((v)>>16)
36 #define PFMLIB_MIN_VERSION(v) ((v) & 0xffff)
41 #define PFMLIB_MAX_PMCS 512
42 #define PFMLIB_MAX_PMDS 512
63 #if PFMLIB_MAX_PMCS > PFMLIB_MAX_PMDS
64 #define PFMLIB_REG_MAX PFMLIB_MAX_PMCS
66 #define PFMLIB_REG_MAX PFMLIB_MAX_PMDS
70 #define __PFMLIB_REG_BV_BITS (sizeof(pfmlib_regmask_bits_t)<<3)
71 #define PFMLIB_BVSIZE(x) (((x)+(__PFMLIB_REG_BV_BITS)-1) / __PFMLIB_REG_BV_BITS)
72 #define PFMLIB_REG_BV PFMLIB_BVSIZE(PFMLIB_REG_MAX)
80 #define PFMLIB_MAX_MASKS_PER_EVENT 48
91 unsigned long reserved[2];
115 unsigned long reserved[6];
121 #define PFMLIB_PFP_SYSTEMWIDE 0x1
131 unsigned long reserved[7];
138 unsigned int pfm_debug:1;
139 unsigned int pfm_verbose:1;
140 unsigned int pfm_reserved:30;
166 extern pfm_err_t
pfm_find_event(
const char *str,
unsigned int *idx);
172 unsigned int *mask_idx);
179 unsigned int *count);
186 unsigned int mask_idx,
194 unsigned int mask_idx,
195 char *name,
size_t maxlen);
197 unsigned int mask_idx,
221 #define PFMLIB_NO_PMU -1
222 #define PFMLIB_UNKNOWN_PMU 0
223 #define PFMLIB_GEN_IA64_PMU 1
224 #define PFMLIB_ITANIUM_PMU 2
225 #define PFMLIB_ITANIUM2_PMU 3
226 #define PFMLIB_MONTECITO_PMU 4
227 #define PFMLIB_AMD64_PMU 16
228 #define PFMLIB_GEN_IA32_PMU 63
229 #define PFMLIB_I386_P6_PMU 32
230 #define PFMLIB_PENTIUM4_PMU 33
231 #define PFMLIB_COREDUO_PMU 34
232 #define PFMLIB_I386_PM_PMU 35
233 #define PFMLIB_CORE_PMU 36
234 #define PFMLIB_INTEL_CORE_PMU 36
235 #define PFMLIB_INTEL_PPRO_PMU 37
236 #define PFMLIB_INTEL_PII_PMU 38
237 #define PFMLIB_INTEL_ATOM_PMU 39
238 #define PFMLIB_INTEL_NHM_PMU 40
239 #define PFMLIB_INTEL_WSM_PMU 41
241 #define PFMLIB_MIPS_20KC_PMU 64
242 #define PFMLIB_MIPS_24K_PMU 65
243 #define PFMLIB_MIPS_25KF_PMU 66
244 #define PFMLIB_MIPS_34K_PMU 67
245 #define PFMLIB_MIPS_5KC_PMU 68
246 #define PFMLIB_MIPS_74K_PMU 69
247 #define PFMLIB_MIPS_R10000_PMU 70
248 #define PFMLIB_MIPS_R12000_PMU 71
249 #define PFMLIB_MIPS_RM7000_PMU 72
250 #define PFMLIB_MIPS_RM9000_PMU 73
251 #define PFMLIB_MIPS_SB1_PMU 74
252 #define PFMLIB_MIPS_VR5432_PMU 75
253 #define PFMLIB_MIPS_VR5500_PMU 76
254 #define PFMLIB_MIPS_ICE9A_PMU 77
255 #define PFMLIB_MIPS_ICE9B_PMU 78
257 #define PFMLIB_POWERPC_PMU 90
259 #define PFMLIB_CRAYX2_PMU 96
261 #define PFMLIB_CELL_PMU 100
263 #define PFMLIB_PPC970_PMU 110
264 #define PFMLIB_PPC970MP_PMU 111
265 #define PFMLIB_POWER3_PMU 112
266 #define PFMLIB_POWER4_PMU 113
267 #define PFMLIB_POWER5_PMU 114
268 #define PFMLIB_POWER5p_PMU 115
269 #define PFMLIB_POWER6_PMU 116
270 #define PFMLIB_POWER7_PMU 117
272 #define PFMLIB_SPARC_ULTRA12_PMU 130
273 #define PFMLIB_SPARC_ULTRA3_PMU 131
274 #define PFMLIB_SPARC_ULTRA3I_PMU 132
275 #define PFMLIB_SPARC_ULTRA3PLUS_PMU 133
276 #define PFMLIB_SPARC_ULTRA4PLUS_PMU 134
277 #define PFMLIB_SPARC_NIAGARA1_PMU 135
278 #define PFMLIB_SPARC_NIAGARA2_PMU 136
283 #define PFMLIB_SUCCESS 0
284 #define PFMLIB_ERR_NOTSUPP -1
285 #define PFMLIB_ERR_INVAL -2
286 #define PFMLIB_ERR_NOINIT -3
287 #define PFMLIB_ERR_NOTFOUND -4
288 #define PFMLIB_ERR_NOASSIGN -5
289 #define PFMLIB_ERR_FULL -6
290 #define PFMLIB_ERR_EVTMANY -7
291 #define PFMLIB_ERR_MAGIC -8
292 #define PFMLIB_ERR_FEATCOMB -9
293 #define PFMLIB_ERR_EVTSET -10
294 #define PFMLIB_ERR_EVTINCOMP -11
295 #define PFMLIB_ERR_TOOMANY -12
297 #define PFMLIB_ERR_IRRTOOBIG -13
298 #define PFMLIB_ERR_IRREMPTY -14
299 #define PFMLIB_ERR_IRRINVAL -15
300 #define PFMLIB_ERR_IRRTOOMANY -16
301 #define PFMLIB_ERR_DRRINVAL -17
302 #define PFMLIB_ERR_DRRTOOMANY -18
303 #define PFMLIB_ERR_BADHOST -19
304 #define PFMLIB_ERR_IRRALIGN -20
305 #define PFMLIB_ERR_IRRFLAGS -21
306 #define PFMLIB_ERR_UMASK -22
307 #define PFMLIB_ERR_NOMEM -23
309 #define __PFMLIB_REGMASK_EL(g) ((g)/__PFMLIB_REG_BV_BITS)
310 #define __PFMLIB_REGMASK_MASK(g) (((pfmlib_regmask_bits_t)1) << ((g) % __PFMLIB_REG_BV_BITS))
346 unsigned int weight = 0;
348 if (h == NULL || w == NULL)
363 if (h1 == NULL || h2 == NULL)
367 if (h1->
bits[pos] != h2->
bits[pos])
return 0;
376 if (dst == NULL || h1 == NULL || h2 == NULL)
389 if (dst == NULL || h1 == NULL || h2 == NULL)
402 if (dst == NULL || h1 == NULL || h2 == NULL)
415 if (dst == NULL || src == NULL)