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
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
00122 #define IX_PERFPROF_ACC_LOG(level, str, a, b, c, d, e, f)
00123 #endif
00124
00125
00126
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
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
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
01335
01336 #endif
01337