1LIBPFM(3) Linux Programmer's Manual LIBPFM(3)
2
3
4
6 pfm_regmask_set, pfm_regmask_isset, pfm_regmask_clr, pfm_reg‐
7 mask_weight, pfm_regmask_eq, pfm_regmask_and, pfm_regmask_or, pfm_reg‐
8 mask_copy - operations on pfmlib_regmask_t bitmasks
9
11 #include <perfmon/pfmlib.h>
12
13 int pfm_regmask_isset(pfmlib_regmask_t *mask, unsigned int b);
14 int pfm_regmask_set(pfmlib_regmask_t *mask, unsigned int b);
15 int pfm_regmask_clr(pfmlib_regmask_t *mask, unsigned int b);
16 int pfm_regmask_weight(pfmlib_regmask_t *mask, unsigned int *w);
17 int pfm_regmask_eq(pfmlib_regmask_t *mask1, pfmlib_regmask_t *mask2);
18 int pfm_regmask_and(pfmlib_regmask_t *dest, pfmlib_regmask_t *m1, pmlib_regmask_t *m2);
19 int pfm_regmask_or(pfmlib_regmask_t *dest, pfmlib_regmask_t *m1, pmlib_regmask_t *m2);
20 int pfm_regmask_copy(pfmlib_regmask_t *dest, pfmlib_regmask_t *src);
21
22
24 This set of function is used to operate of the pfmlib_regmask_t bit‐
25 masks that are returned by certain functions or passed to the pfm_dis‐
26 patch_events() function.
27
28 To ensure portability, it is important that applications use only the
29 functions specified here to access the bitmasks. It is strongly dis‐
30 couraged to access the internal fields of the pfm_regmask_t structure.
31
32 The pfm_regmask_set() function is used to set bit b in the bitmask
33 mask.
34
35 The pfm_regmask_clr() function is used to clear bit b in the bitmask
36 mask.
37
38 The pfm_regmask_isset() function returns a non-zero value if b is set
39 in the bitmask mask.
40
41 The pfm_regmask_weight() function returns in w the number of bits set
42 in the bitmask mask.
43
44 The pfm_regmask_eq() function returns a non-zero value if the bitmasks
45 mask1 and mask2 are identical.
46
47 The pfm_regmask_and() function returns in bitmask dest the result of
48 the logical AND operation between bitmask m1 and bitmask m2.
49
50 The pfm_regmask_or() function returns in bitmask dest the result of the
51 logical OR operation between bitmask m1 and bitmask m2.
52
53 The pfm_regmask_copy() function copies bitmask src into bitmask dest.
54
55
57 The function returns whether or not it was successful. A return value
58 of PFMLIB_SUCCESS indicates success, otherwise the value is the error
59 code.
60
62 PFMLIB_ERR_INVAL the bit b exceeds the limit supported by the library
63
65 Stephane Eranian <eranian@hpl.hp.com>
66
67 Apr, 2006 LIBPFM(3)