PAPI 7.1.0.0
Loading...
Searching...
No Matches
ppc64_events.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PPC64_register_t
 
struct  PPC64_groups_t
 
struct  native_event_entry_t
 
struct  PPC64_native_map_t
 

Macros

#define GROUP_INTS   8
 
#define PAPI_MAX_NATIVE_EVENTS   1024
 
#define MAX_GROUPS   (GROUP_INTS * 32)
 

Typedefs

typedef PPC64_register_t hwd_register_t
 
typedef PPC64_groups_t hwd_groups_t
 

Functions

int check_native_name ()
 

Variables

native_event_entry_t native_table [PAPI_MAX_NATIVE_EVENTS]
 
hwd_pminfo_t pminfo
 
pm_groups_info_t pmgroups
 
PPC64_native_map_t native_name_map [PAPI_MAX_NATIVE_EVENTS]
 
hwd_groups_t group_map [MAX_GROUPS]
 

Macro Definition Documentation

◆ GROUP_INTS

#define GROUP_INTS   8

Definition at line 16 of file ppc64_events.h.

◆ MAX_GROUPS

#define MAX_GROUPS   (GROUP_INTS * 32)

Definition at line 24 of file ppc64_events.h.

◆ PAPI_MAX_NATIVE_EVENTS

#define PAPI_MAX_NATIVE_EVENTS   1024

Definition at line 22 of file ppc64_events.h.

Typedef Documentation

◆ hwd_groups_t

Definition at line 56 of file ppc64_events.h.

◆ hwd_register_t

Definition at line 40 of file ppc64_events.h.

Function Documentation

◆ check_native_name()

int check_native_name ( )

Definition at line 168 of file ppc64_events.c.

169{
170 enum native_name foo;
171 int itemCount = 0;
172 int i;
173
174 /* This should ensure that the cardinality of native_name is the same
175 as that of native_name_map which may be true iff native_name
176 expresses the same data as native_name_map and there is a 1:1
177 mapping from one onto the other, though there is no guarantee of
178 order. */
180 SUBDBG( "%i is the number of elements apparently in native_name, "
181 "but really should be %i, according to native_name_map.\n",
184 ( "Inconsistent cardinality between native_name and native_name_map "
185 "detected in preliminary check\n" );
186 return PAPI_EBUG;
187 }
188
189 /* The following is sanity checking only. It attempts to verify some level
190 of consistency between native_name and native_name_map and native_table.
191 This should imply that native_name is a subset of native_name_map. */
192 for ( foo = PAPI_NATIVE_MASK; foo < NATNAME_GUARD; foo++ ) {
193 for ( i = 0; i < MAX_NATNAME_MAP_INDEX; i++ ) {
194 /* Now, if the event we are on is the native event we seek... */
195 if ( ( native_name_map[i].index | PAPI_NATIVE_MASK ) == foo ) {
196 itemCount++;
197 break;
198 }
199 }
200 }
201 if ( itemCount != MAX_NATNAME_MAP_INDEX ) {
202 SUBDBG( "Inconsistency between native_name_map and native_name. "
203 "%i events matched, but really should be %i\n", itemCount,
206 ( "Inconsistent cardinality between native_name and native_name_map\n" );
207 return PAPI_EBUG;
208 }
209
210 return PAPI_OK;
211}
int i
PPC64_native_map_t native_name_map[PAPI_MAX_NATIVE_EVENTS]
Definition: aix.c:46
#define PAPI_EBUG
Definition: f90papi.h:176
#define PAPI_OK
Definition: f90papi.h:73
#define PAPI_NATIVE_MASK
#define SUBDBG(format, args...)
Definition: papi_debug.h:64
void PAPIERROR(char *format,...)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ group_map

hwd_groups_t group_map[MAX_GROUPS]
extern

Definition at line 47 of file aix.c.

◆ native_name_map

PPC64_native_map_t native_name_map[PAPI_MAX_NATIVE_EVENTS]
extern

Definition at line 46 of file aix.c.

◆ native_table

Definition at line 41 of file aix.c.

◆ pmgroups

pm_groups_info_t pmgroups
extern

Definition at line 44 of file aix.c.

◆ pminfo

hwd_pminfo_t pminfo
extern

Definition at line 43 of file aix.c.