1#ifndef _PAPI_PERFMON_IA64_H
2#define _PAPI_PERFMON_IA64_H
30#include <sys/syscall.h>
34#include <sys/ucontext.h>
38#if defined(HAVE_MMTIMER)
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"
66#define NUM_PMCS PFMLIB_MAX_PMCS
67#define NUM_PMDS PFMLIB_MAX_PMDS
79typedef struct mont_param_t
86typedef struct ita2_param_t
96#define PMU_FIRST_COUNTER 4
106#define MAX_COUNTERS 12
107#define MAX_COUNTER_TERMS MAX_COUNTERS
109typedef struct ia64_control_state
128typedef struct itanium_preset_search
143#if defined(USE_PROC_PTTIMER)
158#undef hwd_reg_alloc_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))
ia64_context_t hwd_context_t
ia64_reg_alloc_t hwd_reg_alloc_t
ia64_register_t hwd_register_t
ia64_control_state_t hwd_control_state_t
pfmw_ita_param_t ita_lib_param
pfmlib_ita2_output_param_t ita2_output_param
pfmlib_ita2_input_param_t ita2_input_param
pfmlib_mont_input_param_t mont_input_param
pfmlib_mont_output_param_t mont_output_param
pfmlib_output_param_t outp
pfmw_mont_param_t mont_param
pfmw_ita1_param_t ita_param
pfmw_ita2_param_t ita2_param