|
PAPI
5.0.1.0
|
00001 /****************************/ 00002 /* THIS IS OPEN SOURCE CODE */ 00003 /****************************/ 00004 00020 #ifndef _PAPI_IOUNIT_H 00021 #define _PAPI_IOUNIT_H 00022 00023 #include "papi.h" 00024 #include "papi_internal.h" 00025 #include "papi_vector.h" 00026 #include "papi_memory.h" 00027 #include "extras.h" 00028 #include "../../../linux-bgq-common.h" 00029 00030 00031 /************************* DEFINES SECTION *********************************** 00032 *******************************************************************************/ 00033 00034 /* this number assumes that there will never be more events than indicated */ 00035 #define IOUNIT_MAX_COUNTERS PEVT_IOUNIT_LAST_EVENT 00036 #define OFFSET ( PEVT_L2UNIT_LAST_EVENT + 1 ) 00037 00038 00040 typedef struct IOUNIT_register 00041 { 00042 unsigned int selector; 00043 /* Signifies which counter slot is being used */ 00044 /* Indexed from 1 as 0 has a special meaning */ 00045 } IOUNIT_register_t; 00046 00047 00048 typedef struct IOUNIT_reg_alloc 00049 { 00050 IOUNIT_register_t ra_bits; 00051 } IOUNIT_reg_alloc_t; 00052 00053 00054 typedef struct IOUNIT_control_state 00055 { 00056 int EventGroup; 00057 long long counts[IOUNIT_MAX_COUNTERS]; 00058 } IOUNIT_control_state_t; 00059 00060 00061 typedef struct IOUNIT_context 00062 { 00063 IOUNIT_control_state_t state; 00064 } IOUNIT_context_t; 00065 00066 00067 #endif /* _PAPI_IOUNIT_H */