Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

IxPerfProfAcc.h

Go to the documentation of this file.
00001 
00054 #ifndef IXPERFPROFACC_H
00055 #define IXPERFPROFACC_H
00056 
00057 #include "IxTypes.h"
00058 #include "IxOsCacheMMU.h"
00059 #include "IxOsServices.h"
00060 
00061 #ifdef __linux
00062 #include <linux/proc_fs.h>
00063 #endif
00064 
00065 /*
00066  * Section for #define
00067  */
00076 #define IX_PERFPROF_ACC_XSCALE_PMU_MAX_PROFILE_SAMPLES  0xFFFF
00077 
00087 #define IX_PERFPROF_ACC_BUS_PMU_MAX_PECS        7
00088 
00098 #define IX_PERFPROF_ACC_XCYCLE_MAX_NUM_OF_MEASUREMENTS 600
00099 
00118 #ifndef NDEBUG
00119 #define IX_PERFPROF_ACC_LOG(level, str, a, b, c, d, e, f)\
00120              (ixOsServLog (level, str, a, b, c, d, e, f))
00121 #else /*do nothing*/
00122 #define IX_PERFPROF_ACC_LOG(level, str, a, b, c, d, e, f) 
00123 #endif /*ifdef NDEBUG */
00124 
00125 /*
00126  * Section for struct
00127  */
00128 
00135 typedef struct
00136 {
00137     UINT32 programCounter;  
00138     UINT32 freq;        
00139 } IxPerfProfAccXscalePmuSamplePcProfile;
00140 
00147 typedef struct
00148 {
00149     UINT32 lower32BitsEventCount; 
00150     UINT32 upper32BitsEventCount; 
00151 }   IxPerfProfAccXscalePmuEvtCnt;
00152 
00159 typedef struct
00160 {
00161     UINT32 clk_value;           
00162     UINT32 clk_samples;        
00163     UINT32 event1_value;        
00164     UINT32 event1_samples;     
00165     UINT32 event2_value;        
00166     UINT32 event2_samples;     
00167     UINT32 event3_value;        
00168     UINT32 event3_samples;     
00169     UINT32 event4_value;        
00170     UINT32 event4_samples;     
00171 } IxPerfProfAccXscalePmuResults;
00172 
00177 typedef struct 
00178 {
00179     float maxIdlePercentage;        
00180     float minIdlePercentage;        
00181     float aveIdlePercentage;        
00182     UINT32 totalMeasurements;       
00183 } IxPerfProfAccXcycleResults; 
00184 
00191 typedef struct
00192 {
00193     UINT32 statsToGetLower27Bit[IX_PERFPROF_ACC_BUS_PMU_MAX_PECS]; 
00194     UINT32 statsToGetUpper32Bit[IX_PERFPROF_ACC_BUS_PMU_MAX_PECS]; 
00195 } IxPerfProfAccBusPmuResults;
00196 
00197 /*
00198  * Section for enum
00199  */
00200 
00210 typedef enum
00211 {
00212     IX_PERFPROF_ACC_BUS_PMU_PEC1_NORTH_NPEA_GRANT_SELECT = 1, 
00213     IX_PERFPROF_ACC_BUS_PMU_PEC1_NORTH_NPEB_GRANT_SELECT, 
00214     IX_PERFPROF_ACC_BUS_PMU_PEC1_NORTH_NPEC_GRANT_SELECT, 
00215     IX_PERFPROF_ACC_BUS_PMU_PEC1_NORTH_BUS_IDLE_SELECT, 
00216     IX_PERFPROF_ACC_BUS_PMU_PEC1_NORTH_NPEA_REQ_SELECT, 
00217     IX_PERFPROF_ACC_BUS_PMU_PEC1_NORTH_NPEB_REQ_SELECT, 
00218     IX_PERFPROF_ACC_BUS_PMU_PEC1_NORTH_NPEC_REQ_SELECT, 
00220     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_GSKT_GRANT_SELECT, 
00221     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_ABB_GRANT_SELECT, 
00222     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_PCI_GRANT_SELECT, 
00223     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_APB_GRANT_SELECT, 
00224     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_GSKT_REQ_SELECT, 
00225     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_ABB_REQ_SELECT, 
00226     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_PCI_REQ_SELECT, 
00227     IX_PERFPROF_ACC_BUS_PMU_PEC1_SOUTH_APB_REQ_SELECT, 
00229     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_0_HIT_SELECT, 
00230     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_1_HIT_SELECT, 
00231     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_2_HIT_SELECT, 
00232     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_3_HIT_SELECT, 
00233     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_4_MISS_SELECT, 
00234     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_5_MISS_SELECT, 
00235     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_6_MISS_SELECT, 
00236     IX_PERFPROF_ACC_BUS_PMU_PEC1_SDR_7_MISS_SELECT 
00237 } IxPerfProfAccBusPmuEventCounters1;
00238 
00248 typedef enum
00249 {
00250     IX_PERFPROF_ACC_BUS_PMU_PEC2_NORTH_NPEA_XFER_SELECT = 24, 
00251     IX_PERFPROF_ACC_BUS_PMU_PEC2_NORTH_NPEB_XFER_SELECT, 
00252     IX_PERFPROF_ACC_BUS_PMU_PEC2_NORTH_NPEC_XFER_SELECT, 
00253     IX_PERFPROF_ACC_BUS_PMU_PEC2_NORTH_BUS_WRITE_SELECT, 
00254     IX_PERFPROF_ACC_BUS_PMU_PEC2_NORTH_NPEA_OWN_SELECT, 
00255     IX_PERFPROF_ACC_BUS_PMU_PEC2_NORTH_NPEB_OWN_SELECT, 
00256     IX_PERFPROF_ACC_BUS_PMU_PEC2_NORTH_NPEC_OWN_SELECT, 
00258     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_GSKT_XFER_SELECT, 
00259     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_ABB_XFER_SELECT, 
00260     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_PCI_XFER_SELECT, 
00261     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_APB_XFER_SELECT, 
00262     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_GSKT_OWN_SELECT, 
00263     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_ABB_OWN_SELECT, 
00264     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_PCI_OWN_SELECT, 
00265     IX_PERFPROF_ACC_BUS_PMU_PEC2_SOUTH_APB_OWN_SELECT, 
00267     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_1_HIT_SELECT, 
00268     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_2_HIT_SELECT, 
00269     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_3_HIT_SELECT, 
00270     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_4_HIT_SELECT, 
00271     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_5_MISS_SELECT, 
00272     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_6_MISS_SELECT, 
00273     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_7_MISS_SELECT, 
00274     IX_PERFPROF_ACC_BUS_PMU_PEC2_SDR_0_MISS_SELECT 
00275 } IxPerfProfAccBusPmuEventCounters2;
00276 
00286 typedef enum
00287 {
00288     IX_PERFPROF_ACC_BUS_PMU_PEC3_NORTH_NPEA_RETRY_SELECT = 47, 
00289     IX_PERFPROF_ACC_BUS_PMU_PEC3_NORTH_NPEB_RETRY_SELECT, 
00290     IX_PERFPROF_ACC_BUS_PMU_PEC3_NORTH_NPEC_RETRY_SELECT, 
00291     IX_PERFPROF_ACC_BUS_PMU_PEC3_NORTH_BUS_READ_SELECT, 
00292     IX_PERFPROF_ACC_BUS_PMU_PEC3_NORTH_NPEA_WRITE_SELECT, 
00293     IX_PERFPROF_ACC_BUS_PMU_PEC3_NORTH_NPEB_WRITE_SELECT, 
00294     IX_PERFPROF_ACC_BUS_PMU_PEC3_NORTH_NPEC_WRITE_SELECT, 
00296     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_GSKT_RETRY_SELECT, 
00297     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_ABB_RETRY_SELECT, 
00298     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_PCI_RETRY_SELECT, 
00299     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_APB_RETRY_SELECT, 
00300     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_GSKT_WRITE_SELECT, 
00301     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_ABB_WRITE_SELECT, 
00302     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_PCI_WRITE_SELECT, 
00303     IX_PERFPROF_ACC_BUS_PMU_PEC3_SOUTH_APB_WRITE_SELECT, 
00305     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_2_HIT_SELECT, 
00306     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_3_HIT_SELECT, 
00307     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_4_HIT_SELECT, 
00308     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_5_HIT_SELECT, 
00309     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_6_MISS_SELECT, 
00310     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_7_MISS_SELECT, 
00311     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_0_MISS_SELECT, 
00312     IX_PERFPROF_ACC_BUS_PMU_PEC3_SDR_1_MISS_SELECT 
00313 } IxPerfProfAccBusPmuEventCounters3;
00314 
00324 typedef enum
00325 {
00326     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_PCI_SPLIT_SELECT = 70, 
00327     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_EXP_SPLIT_SELECT, 
00328     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_APB_GRANT_SELECT, 
00329     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_APB_XFER_SELECT, 
00330     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_GSKT_READ_SELECT, 
00331     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_ABB_READ_SELECT, 
00332     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_PCI_READ_SELECT, 
00333     IX_PERFPROF_ACC_BUS_PMU_PEC4_SOUTH_APB_READ_SELECT, 
00335     IX_PERFPROF_ACC_BUS_PMU_PEC4_NORTH_ABB_SPLIT_SELECT, 
00336     IX_PERFPROF_ACC_BUS_PMU_PEC4_NORTH_NPEA_REQ_SELECT, 
00337     IX_PERFPROF_ACC_BUS_PMU_PEC4_NORTH_NPEA_READ_SELECT, 
00338     IX_PERFPROF_ACC_BUS_PMU_PEC4_NORTH_NPEB_READ_SELECT, 
00339     IX_PERFPROF_ACC_BUS_PMU_PEC4_NORTH_NPEC_READ_SELECT, 
00341     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_3_HIT_SELECT, 
00342     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_4_HIT_SELECT, 
00343     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_5_HIT_SELECT, 
00344     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_6_HIT_SELECT, 
00345     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_7_MISS_SELECT, 
00346     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_0_MISS_SELECT, 
00347     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_1_MISS_SELECT, 
00348     IX_PERFPROF_ACC_BUS_PMU_PEC4_SDR_2_MISS_SELECT 
00349 } IxPerfProfAccBusPmuEventCounters4;
00350 
00360 typedef enum
00361 {
00362     IX_PERFPROF_ACC_BUS_PMU_PEC5_SOUTH_ABB_GRANT_SELECT = 91, 
00363     IX_PERFPROF_ACC_BUS_PMU_PEC5_SOUTH_ABB_XFER_SELECT, 
00364     IX_PERFPROF_ACC_BUS_PMU_PEC5_SOUTH_ABB_RETRY_SELECT, 
00365     IX_PERFPROF_ACC_BUS_PMU_PEC5_SOUTH_EXP_SPLIT_SELECT, 
00366     IX_PERFPROF_ACC_BUS_PMU_PEC5_SOUTH_ABB_REQ_SELECT, 
00367     IX_PERFPROF_ACC_BUS_PMU_PEC5_SOUTH_ABB_OWN_SELECT, 
00368     IX_PERFPROF_ACC_BUS_PMU_PEC5_SOUTH_BUS_IDLE_SELECT, 
00370     IX_PERFPROF_ACC_BUS_PMU_PEC5_NORTH_NPEB_GRANT_SELECT, 
00371     IX_PERFPROF_ACC_BUS_PMU_PEC5_NORTH_NPEB_XFER_SELECT, 
00372     IX_PERFPROF_ACC_BUS_PMU_PEC5_NORTH_NPEB_RETRY_SELECT, 
00373     IX_PERFPROF_ACC_BUS_PMU_PEC5_NORTH_NPEB_REQ_SELECT, 
00374     IX_PERFPROF_ACC_BUS_PMU_PEC5_NORTH_NPEB_OWN_SELECT, 
00375     IX_PERFPROF_ACC_BUS_PMU_PEC5_NORTH_NPEB_WRITE_SELECT, 
00376     IX_PERFPROF_ACC_BUS_PMU_PEC5_NORTH_NPEB_READ_SELECT, 
00378     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_4_HIT_SELECT, 
00379     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_5_HIT_SELECT, 
00380     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_6_HIT_SELECT, 
00381     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_7_HIT_SELECT, 
00382     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_0_MISS_SELECT, 
00383     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_1_MISS_SELECT, 
00384     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_2_MISS_SELECT, 
00385     IX_PERFPROF_ACC_BUS_PMU_PEC5_SDR_3_MISS_SELECT 
00386 } IxPerfProfAccBusPmuEventCounters5;
00387 
00397 typedef enum
00398 {
00399     IX_PERFPROF_ACC_BUS_PMU_PEC6_SOUTH_PCI_GRANT_SELECT = 113, 
00400     IX_PERFPROF_ACC_BUS_PMU_PEC6_SOUTH_PCI_XFER_SELECT, 
00401     IX_PERFPROF_ACC_BUS_PMU_PEC6_SOUTH_PCI_RETRY_SELECT, 
00402     IX_PERFPROF_ACC_BUS_PMU_PEC6_SOUTH_PCI_SPLIT_SELECT, 
00403     IX_PERFPROF_ACC_BUS_PMU_PEC6_SOUTH_PCI_REQ_SELECT, 
00404     IX_PERFPROF_ACC_BUS_PMU_PEC6_SOUTH_PCI_OWN_SELECT, 
00405     IX_PERFPROF_ACC_BUS_PMU_PEC6_SOUTH_BUS_WRITE_SELECT, 
00407     IX_PERFPROF_ACC_BUS_PMU_PEC6_NORTH_NPEC_GRANT_SELECT, 
00408     IX_PERFPROF_ACC_BUS_PMU_PEC6_NORTH_NPEC_XFER_SELECT, 
00409     IX_PERFPROF_ACC_BUS_PMU_PEC6_NORTH_NPEC_RETRY_SELECT, 
00410     IX_PERFPROF_ACC_BUS_PMU_PEC6_NORTH_NPEC_REQ_SELECT, 
00411     IX_PERFPROF_ACC_BUS_PMU_PEC6_NORTH_NPEC_OWN_SELECT, 
00412     IX_PERFPROF_ACC_BUS_PMU_PEC6_NORTH_NPEB_WRITE_SELECT, 
00413     IX_PERFPROF_ACC_BUS_PMU_PEC6_NORTH_NPEC_READ_SELECT, 
00415     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_5_HIT_SELECT, 
00416     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_6_HIT_SELECT, 
00417     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_7_HIT_SELECT, 
00418     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_0_HIT_SELECT, 
00419     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_1_MISS_SELECT, 
00420     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_2_MISS_SELECT, 
00421     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_3_MISS_SELECT, 
00422     IX_PERFPROF_ACC_BUS_PMU_PEC6_SDR_4_MISS_SELECT 
00423 } IxPerfProfAccBusPmuEventCounters6;
00424 
00434 typedef enum
00435 {
00436     IX_PERFPROF_ACC_BUS_PMU_PEC7_SOUTH_APB_RETRY_SELECT = 135, 
00437     IX_PERFPROF_ACC_BUS_PMU_PEC7_SOUTH_APB_REQ_SELECT, 
00438     IX_PERFPROF_ACC_BUS_PMU_PEC7_SOUTH_APB_OWN_SELECT, 
00439     IX_PERFPROF_ACC_BUS_PMU_PEC7_SOUTH_BUS_READ_SELECT, 
00440     IX_PERFPROF_ACC_BUS_PMU_PEC7_CYCLE_COUNT_SELECT 
00441 } IxPerfProfAccBusPmuEventCounters7;
00442 
00453 typedef enum 
00454 {
00455     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_CACHE_MISS=0,      
00456     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_CACHE_INSTRUCTION,
00457     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_STALL,     
00458     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_INST_TLB_MISS, 
00459     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_DATA_TLB_MISS, 
00460     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_BRANCH_EXEC,   
00461     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_BRANCH_MISPREDICT, 
00462     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_INST_EXEC, 
00463     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_FULL_EVERYCYCLE,   
00470     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_ONCE,    
00475     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_DATA_CACHE_ACCESS, 
00476     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_DATA_CACHE_MISS,   
00477     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_DATA_CACHE_WRITEBACK,  
00480     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_SW_CHANGE_PC,  
00481     IX_PERFPROF_ACC_XSCALE_PMU_EVENT_MAX    
00482 } IxPerfProfAccXscalePmuEvent;
00483 
00493 typedef enum
00494 {
00495     IX_PERFPROF_ACC_STATUS_SUCCESS = IX_SUCCESS,    
00496     IX_PERFPROF_ACC_STATUS_FAIL = IX_FAIL,          
00497     IX_PERFPROF_ACC_STATUS_ANOTHER_UTIL_IN_PROGRESS,
00500     IX_PERFPROF_ACC_STATUS_XCYCLE_MEASUREMENT_IN_PROGRESS, 
00503     IX_PERFPROF_ACC_STATUS_XCYCLE_NO_BASELINE, 
00504     IX_PERFPROF_ACC_STATUS_XCYCLE_MEASUREMENT_REQUEST_OUT_OF_RANGE, 
00508     IX_PERFPROF_ACC_STATUS_XCYCLE_PRIORITY_SET_FAIL,  
00512     IX_PERFPROF_ACC_STATUS_XCYCLE_THREAD_CREATE_FAIL, 
00515     IX_PERFPROF_ACC_STATUS_XCYCLE_PRIORITY_RESTORE_FAIL,  
00519     IX_PERFPROF_ACC_STATUS_XCYCLE_MEASUREMENT_NOT_RUNNING, 
00520     IX_PERFPROF_ACC_STATUS_XSCALE_PMU_NUM_INVALID, 
00523     IX_PERFPROF_ACC_STATUS_XSCALE_PMU_EVENT_INVALID, 
00524     IX_PERFPROF_ACC_STATUS_XSCALE_PMU_START_NOT_CALLED, 
00530     IX_PERFPROF_ACC_STATUS_BUS_PMU_MODE_ERROR,  
00531     IX_PERFPROF_ACC_STATUS_BUS_PMU_PEC1_ERROR,  
00532     IX_PERFPROF_ACC_STATUS_BUS_PMU_PEC2_ERROR,  
00533     IX_PERFPROF_ACC_STATUS_BUS_PMU_PEC3_ERROR,  
00534     IX_PERFPROF_ACC_STATUS_BUS_PMU_PEC4_ERROR,  
00535     IX_PERFPROF_ACC_STATUS_BUS_PMU_PEC5_ERROR,  
00536     IX_PERFPROF_ACC_STATUS_BUS_PMU_PEC6_ERROR,  
00537     IX_PERFPROF_ACC_STATUS_BUS_PMU_PEC7_ERROR,  
00538     IX_PERFPROF_ACC_STATUS_BUS_PMU_START_NOT_CALLED 
00543 } IxPerfProfAccStatus;
00544 
00555 typedef enum
00556 {
00557         IX_PERFPROF_ACC_BUS_PMU_MODE_HALT=0,   
00558         IX_PERFPROF_ACC_BUS_PMU_MODE_SOUTH,    
00559         IX_PERFPROF_ACC_BUS_PMU_MODE_NORTH,    
00560         IX_PERFPROF_ACC_BUS_PMU_MODE_SDRAM    
00561 } IxPerfProfAccBusPmuMode;
00562 
00563 /*
00564  * Section for prototypes interface functions
00565  */
00566 
00616 PUBLIC IxPerfProfAccStatus
00617 ixPerfProfAccXscalePmuEventCountStart(
00618     BOOL clkCntDiv,
00619     UINT32 numEvents,
00620     IxPerfProfAccXscalePmuEvent pmuEvent1,
00621     IxPerfProfAccXscalePmuEvent pmuEvent2,
00622     IxPerfProfAccXscalePmuEvent pmuEvent3,
00623     IxPerfProfAccXscalePmuEvent pmuEvent4 );
00624 
00653 PUBLIC IxPerfProfAccStatus 
00654 ixPerfProfAccXscalePmuEventCountStop(
00655    IxPerfProfAccXscalePmuResults *eventCountStopResults); 
00656 
00694 PUBLIC IxPerfProfAccStatus 
00695 ixPerfProfAccXscalePmuTimeSampStart(
00696     UINT32 samplingRate, 
00697     BOOL clkCntDiv);
00698 
00731 PUBLIC IxPerfProfAccStatus
00732 ixPerfProfAccXscalePmuTimeSampStop(
00733     IxPerfProfAccXscalePmuEvtCnt *clkCount,
00734     IxPerfProfAccXscalePmuSamplePcProfile *timeProfile);
00735 
00804 PUBLIC IxPerfProfAccStatus
00805 ixPerfProfAccXscalePmuEventSampStart(
00806     UINT32 numEvents,
00807     IxPerfProfAccXscalePmuEvent pmuEvent1,
00808     UINT32 eventRate1,
00809     IxPerfProfAccXscalePmuEvent pmuEvent2,
00810     UINT32 eventRate2,
00811     IxPerfProfAccXscalePmuEvent pmuEvent3,
00812     UINT32 eventRate3,
00813     IxPerfProfAccXscalePmuEvent pmuEvent4,
00814     UINT32 eventRate4);
00815 
00862 PUBLIC IxPerfProfAccStatus 
00863 ixPerfProfAccXscalePmuEventSampStop(
00864     IxPerfProfAccXscalePmuSamplePcProfile *eventProfile1,
00865     IxPerfProfAccXscalePmuSamplePcProfile *eventProfile2,
00866     IxPerfProfAccXscalePmuSamplePcProfile *eventProfile3,
00867     IxPerfProfAccXscalePmuSamplePcProfile *eventProfile4);
00868 
00894 PUBLIC void                                                     
00895 ixPerfProfAccXscalePmuResultsGet(IxPerfProfAccXscalePmuResults *results);    
00896 
00955 PUBLIC 
00956 IxPerfProfAccStatus ixPerfProfAccBusPmuStart (
00957         IxPerfProfAccBusPmuMode mode, 
00958         IxPerfProfAccBusPmuEventCounters1 pecEvent1,
00959         IxPerfProfAccBusPmuEventCounters2 pecEvent2, 
00960         IxPerfProfAccBusPmuEventCounters3 pecEvent3, 
00961         IxPerfProfAccBusPmuEventCounters4 pecEvent4,
00962         IxPerfProfAccBusPmuEventCounters5 pecEvent5, 
00963         IxPerfProfAccBusPmuEventCounters6 pecEvent6, 
00964         IxPerfProfAccBusPmuEventCounters7 pecEvent7);
00965 
00985 PUBLIC IxPerfProfAccStatus 
00986 ixPerfProfAccBusPmuStop (void);
00987 
01007 PUBLIC void
01008 ixPerfProfAccBusPmuResultsGet (IxPerfProfAccBusPmuResults *BusPmuResults);
01009 
01077 PUBLIC void
01078 ixPerfProfAccBusPmuPMSRGet (
01079 UINT32 *pmsrValue);
01080 
01081 
01126 PUBLIC IxPerfProfAccStatus
01127 ixPerfProfAccXcycleBaselineRun(
01128     UINT32 *numBaselineCycle); 
01129 
01186 PUBLIC IxPerfProfAccStatus
01187 ixPerfProfAccXcycleStart (
01188     UINT32 numMeasurementsRequested);  
01189 
01217 PUBLIC IxPerfProfAccStatus
01218 ixPerfProfAccXcycleStop(void); 
01219 
01250 PUBLIC IxPerfProfAccStatus
01251 ixPerfProfAccXcycleResultsGet (
01252     IxPerfProfAccXcycleResults *xcycleResult);  
01253 
01275 PUBLIC BOOL
01276 ixPerfProfAccXcycleInProgress(void); 
01277 
01278 #ifdef __linux
01279 
01302 int
01303 ixPerfProfAccXscalePmuTimeSampCreateProcFile (char *buf, char **start, off_t offset,
01304                                       int count, int *eof, void *data);
01305 
01329 int
01330 ixPerfProfAccXscalePmuEventSampCreateProcFile (char *buf, char **start, off_t offset,
01331                                       int count, int *eof, void *data);
01332 
01333 
01334 #endif /* ifdef __linux */
01335 
01336 #endif /* ndef IXPERFPROFACC_H */
01337 
Automatically generated from sources. © Intel Corp. 2003