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

Defines

#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]

Define Documentation

#define GROUP_INTS   8

Definition at line 16 of file ppc64_events.h.

#define MAX_GROUPS   (GROUP_INTS * 32)

Definition at line 24 of file ppc64_events.h.

#define PAPI_MAX_NATIVE_EVENTS   1024

Definition at line 22 of file ppc64_events.h.


Typedef Documentation

Definition at line 56 of file ppc64_events.h.

Definition at line 40 of file ppc64_events.h.


Function Documentation

int check_native_name (  ) 

Definition at line 168 of file ppc64_events.c.

00169 {
00170     enum native_name foo;
00171     int itemCount = 0;
00172     int i;
00173 
00174     /* This should ensure that the cardinality of native_name is the same
00175        as that of native_name_map which may be true iff native_name 
00176        expresses the same data as native_name_map and there is a 1:1 
00177        mapping from one onto the other, though there is no guarantee of 
00178        order. */
00179     if ( ( NATNAME_GUARD - PAPI_NATIVE_MASK ) != MAX_NATNAME_MAP_INDEX ) {
00180         SUBDBG( "%i is the number of elements apparently in native_name, "
00181                 "but really should be %i, according to native_name_map.\n",
00182                 ( NATNAME_GUARD - PAPI_NATIVE_MASK ), MAX_NATNAME_MAP_INDEX );
00183         PAPIERROR
00184             ( "Inconsistent cardinality between native_name and native_name_map "
00185               "detected in preliminary check\n" );
00186         return PAPI_EBUG;
00187     }
00188 
00189     /* The following is sanity checking only.  It attempts to verify some level
00190        of consistency between native_name and native_name_map and native_table.
00191        This should imply that native_name is a subset of native_name_map. */
00192     for ( foo = PAPI_NATIVE_MASK; foo < NATNAME_GUARD; foo++ ) {
00193         for ( i = 0; i < MAX_NATNAME_MAP_INDEX; i++ ) {
00194             /* Now, if the event we are on is the native event we seek... */
00195             if ( ( native_name_map[i].index | PAPI_NATIVE_MASK ) == foo ) {
00196                 itemCount++;
00197                 break;
00198             }
00199         }
00200     }
00201     if ( itemCount != MAX_NATNAME_MAP_INDEX ) {
00202         SUBDBG( "Inconsistency between native_name_map and native_name.  "
00203                 "%i events matched, but really should be %i\n", itemCount,
00204                 MAX_NATNAME_MAP_INDEX );
00205         PAPIERROR
00206             ( "Inconsistent cardinality between native_name and native_name_map\n" );
00207         return PAPI_EBUG;
00208     }
00209 
00210     return PAPI_OK;
00211 }

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

hwd_groups_t group_map[MAX_GROUPS]

Definition at line 47 of file aix.c.

PPC64_native_map_t native_name_map[PAPI_MAX_NATIVE_EVENTS]

Definition at line 46 of file aix.c.

native_event_entry_t native_table[PAPI_MAX_NATIVE_EVENTS]

Definition at line 41 of file aix.c.

pm_groups_info_t pmgroups

Definition at line 44 of file aix.c.

Definition at line 43 of file aix.c.


Generated on 17 Nov 2016 for PAPI by  doxygen 1.6.1