1 #ifndef _PAPI_PERFMON_IA64_H 2 #define _PAPI_PERFMON_IA64_H 30 #include <sys/syscall.h> 31 #include <sys/types.h> 33 #include <sys/times.h> 34 #include <sys/ucontext.h> 35 #include <sys/types.h> 38 #if defined(HAVE_MMTIMER) 39 #include <sys/ioctl.h> 41 #include <linux/mmtimer.h> 42 #ifndef MMTIMER_FULLNAME 43 #define MMTIMER_FULLNAME "/dev/mmtimer" 47 #ifdef __INTEL_COMPILER 48 #include <ia64intrin.h> 52 #include "papi_defines.h" 54 #include "perfmon/pfmlib.h" 55 #include "perfmon/perfmon.h" 56 #include "perfmon/perfmon_default_smpl.h" 57 #include "perfmon/pfmlib_montecito.h" 58 #include "perfmon/pfmlib_itanium2.h" 59 #include "perfmon/pfmlib_itanium.h" 66 #define NUM_PMCS PFMLIB_MAX_PMCS 67 #define NUM_PMDS PFMLIB_MAX_PMDS 69 typedef struct param_t
73 pfmlib_input_param_t
inp;
74 pfmlib_output_param_t
outp;
79 typedef struct mont_param_t
86 typedef struct ita2_param_t
96 #define PMU_FIRST_COUNTER 4 106 #define MAX_COUNTERS 12 107 #define MAX_COUNTER_TERMS MAX_COUNTERS 109 typedef struct ia64_control_state
128 typedef struct itanium_preset_search
143 #if defined(USE_PROC_PTTIMER) 158 #undef hwd_reg_alloc_t 160 #undef hwd_register_t 162 #undef hwd_control_state_t 165 #define SMPL_BUF_NENTRIES 64 166 #define M_PMD(x) (1UL<<(x)) 168 #define MONT_DEAR_REGS_MASK (M_PMD(32)|M_PMD(33)|M_PMD(36)) 169 #define MONT_ETB_REGS_MASK (M_PMD(38)| M_PMD(39)| \ 170 M_PMD(48)|M_PMD(49)|M_PMD(50)|M_PMD(51)|M_PMD(52)|M_PMD(53)|M_PMD(54)|M_PMD(55)|\ 171 M_PMD(56)|M_PMD(57)|M_PMD(58)|M_PMD(59)|M_PMD(60)|M_PMD(61)|M_PMD(62)|M_PMD(63)) 173 #define DEAR_REGS_MASK (M_PMD(2)|M_PMD(3)|M_PMD(17)) 174 #define BTB_REGS_MASK (M_PMD(8)|M_PMD(9)|M_PMD(10)|M_PMD(11)|M_PMD(12)|M_PMD(13)|M_PMD(14)|M_PMD(15)|M_PMD(16))
pfmw_ita_param_t ita_lib_param
pfmlib_output_param_t outp
ia64_control_state_t hwd_control_state_t
pfmw_ita1_param_t ita_param
pfmlib_mont_input_param_t mont_input_param
ia64_register_t hwd_register_t
pfmw_ita2_param_t ita2_param
ia64_context_t hwd_context_t
pfmlib_ita2_output_param_t ita2_output_param
pfmlib_ita2_input_param_t ita2_input_param
pfmlib_mont_output_param_t mont_output_param
pfmw_mont_param_t mont_param
ia64_reg_alloc_t hwd_reg_alloc_t