Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
perfmon.h File Reference

Go to the source code of this file.

Data Structures

struct  pfarg_context_t
 
struct  pfarg_reg_t
 
struct  pfarg_dbreg_t
 
struct  pfarg_features_t
 
struct  pfarg_load_t
 
struct  pfm_ovfl_msg_t
 
struct  pfm_end_msg_t
 
struct  pfm_gen_msg_t
 
union  pfm_msg_t
 

Macros

#define PFM_WRITE_PMCS   0x01
 
#define PFM_WRITE_PMDS   0x02
 
#define PFM_READ_PMDS   0x03
 
#define PFM_STOP   0x04
 
#define PFM_START   0x05
 
#define PFM_ENABLE   0x06 /* obsolete */
 
#define PFM_DISABLE   0x07 /* obsolete */
 
#define PFM_CREATE_CONTEXT   0x08
 
#define PFM_DESTROY_CONTEXT   0x09 /* obsolete use close() */
 
#define PFM_RESTART   0x0a
 
#define PFM_PROTECT_CONTEXT   0x0b /* obsolete */
 
#define PFM_GET_FEATURES   0x0c
 
#define PFM_DEBUG   0x0d
 
#define PFM_UNPROTECT_CONTEXT   0x0e /* obsolete */
 
#define PFM_GET_PMC_RESET_VAL   0x0f
 
#define PFM_LOAD_CONTEXT   0x10
 
#define PFM_UNLOAD_CONTEXT   0x11
 
#define PFM_WRITE_IBRS   0x20
 
#define PFM_WRITE_DBRS   0x21
 
#define PFM_FL_NOTIFY_BLOCK   0x01 /* block task on user level notifications */
 
#define PFM_FL_SYSTEM_WIDE   0x02 /* create a system wide context */
 
#define PFM_FL_OVFL_NO_MSG   0x80 /* do not post overflow/end messages for notification */
 
#define PFM_SETFL_EXCL_IDLE   0x01 /* exclude idle task (syswide only) XXX: DO NOT USE YET */
 
#define PFM_REGFL_OVFL_NOTIFY   0x1 /* send notification on overflow */
 
#define PFM_REGFL_RANDOM   0x2 /* randomize sampling interval */
 
#define PFM_REG_RETFL_NOTAVAIL   (1UL<<31) /* set if register is implemented but not available */
 
#define PFM_REG_RETFL_EINVAL   (1UL<<30) /* set if register entry is invalid */
 
#define PFM_REG_RETFL_MASK   (PFM_REG_RETFL_NOTAVAIL|PFM_REG_RETFL_EINVAL)
 
#define PFM_REG_HAS_ERROR(flag)   (((flag) & PFM_REG_RETFL_MASK) != 0)
 
#define PFM_MSG_OVFL   1 /* an overflow happened */
 
#define PFM_MSG_END   2 /* task to which context was attached ended */
 
#define PFM_VERSION_MAJ   2U
 
#define PFM_VERSION_MIN   0U
 
#define PFM_VERSION   (((PFM_VERSION_MAJ&0xffff)<<16)|(PFM_VERSION_MIN & 0xffff))
 
#define PFM_VERSION_MAJOR(x)   (((x)>>16) & 0xffff)
 
#define PFM_VERSION_MINOR(x)   ((x) & 0xffff)
 
#define PMU_FIRST_COUNTER   4 /* first counting monitor (PMC/PMD) */
 
#define PMU_MAX_PMCS   256 /* maximum architected number of PMC registers */
 
#define PMU_MAX_PMDS   256 /* maximum architected number of PMD registers */
 

Typedefs

typedef unsigned char pfm_uuid_t [16]
 

Macro Definition Documentation

#define PFM_CREATE_CONTEXT   0x08

Definition at line 19 of file perfmon.h.

#define PFM_DEBUG   0x0d

Definition at line 24 of file perfmon.h.

#define PFM_DESTROY_CONTEXT   0x09 /* obsolete use close() */

Definition at line 20 of file perfmon.h.

#define PFM_DISABLE   0x07 /* obsolete */

Definition at line 18 of file perfmon.h.

#define PFM_ENABLE   0x06 /* obsolete */

Definition at line 17 of file perfmon.h.

#define PFM_FL_NOTIFY_BLOCK   0x01 /* block task on user level notifications */

Definition at line 39 of file perfmon.h.

#define PFM_FL_OVFL_NO_MSG   0x80 /* do not post overflow/end messages for notification */

Definition at line 41 of file perfmon.h.

#define PFM_FL_SYSTEM_WIDE   0x02 /* create a system wide context */

Definition at line 40 of file perfmon.h.

#define PFM_GET_FEATURES   0x0c

Definition at line 23 of file perfmon.h.

#define PFM_GET_PMC_RESET_VAL   0x0f

Definition at line 26 of file perfmon.h.

#define PFM_LOAD_CONTEXT   0x10

Definition at line 27 of file perfmon.h.

#define PFM_MSG_END   2 /* task to which context was attached ended */

Definition at line 151 of file perfmon.h.

#define PFM_MSG_OVFL   1 /* an overflow happened */

Definition at line 150 of file perfmon.h.

#define PFM_PROTECT_CONTEXT   0x0b /* obsolete */

Definition at line 22 of file perfmon.h.

#define PFM_READ_PMDS   0x03

Definition at line 14 of file perfmon.h.

#define PFM_REG_HAS_ERROR (   flag)    (((flag) & PFM_REG_RETFL_MASK) != 0)

Definition at line 64 of file perfmon.h.

#define PFM_REG_RETFL_EINVAL   (1UL<<30) /* set if register entry is invalid */

Definition at line 61 of file perfmon.h.

#define PFM_REG_RETFL_MASK   (PFM_REG_RETFL_NOTAVAIL|PFM_REG_RETFL_EINVAL)

Definition at line 62 of file perfmon.h.

#define PFM_REG_RETFL_NOTAVAIL   (1UL<<31) /* set if register is implemented but not available */

Definition at line 60 of file perfmon.h.

#define PFM_REGFL_OVFL_NOTIFY   0x1 /* send notification on overflow */

Definition at line 51 of file perfmon.h.

#define PFM_REGFL_RANDOM   0x2 /* randomize sampling interval */

Definition at line 52 of file perfmon.h.

#define PFM_RESTART   0x0a

Definition at line 21 of file perfmon.h.

#define PFM_SETFL_EXCL_IDLE   0x01 /* exclude idle task (syswide only) XXX: DO NOT USE YET */

Definition at line 46 of file perfmon.h.

#define PFM_START   0x05

Definition at line 16 of file perfmon.h.

#define PFM_STOP   0x04

Definition at line 15 of file perfmon.h.

#define PFM_UNLOAD_CONTEXT   0x11

Definition at line 28 of file perfmon.h.

#define PFM_UNPROTECT_CONTEXT   0x0e /* obsolete */

Definition at line 25 of file perfmon.h.

#define PFM_VERSION   (((PFM_VERSION_MAJ&0xffff)<<16)|(PFM_VERSION_MIN & 0xffff))

Definition at line 164 of file perfmon.h.

#define PFM_VERSION_MAJ   2U

Definition at line 162 of file perfmon.h.

#define PFM_VERSION_MAJOR (   x)    (((x)>>16) & 0xffff)

Definition at line 165 of file perfmon.h.

#define PFM_VERSION_MIN   0U

Definition at line 163 of file perfmon.h.

#define PFM_VERSION_MINOR (   x)    ((x) & 0xffff)

Definition at line 166 of file perfmon.h.

#define PFM_WRITE_DBRS   0x21

Definition at line 34 of file perfmon.h.

#define PFM_WRITE_IBRS   0x20

Definition at line 33 of file perfmon.h.

#define PFM_WRITE_PMCS   0x01

Definition at line 12 of file perfmon.h.

#define PFM_WRITE_PMDS   0x02

Definition at line 13 of file perfmon.h.

#define PMU_FIRST_COUNTER   4 /* first counting monitor (PMC/PMD) */

Definition at line 172 of file perfmon.h.

#define PMU_MAX_PMCS   256 /* maximum architected number of PMC registers */

Definition at line 173 of file perfmon.h.

#define PMU_MAX_PMDS   256 /* maximum architected number of PMD registers */

Definition at line 174 of file perfmon.h.

Typedef Documentation

typedef unsigned char pfm_uuid_t[16]

Definition at line 66 of file perfmon.h.