📄 ixperfprofaccxscalepmu_p.h
字号:
*/ voidixPerfProfAccXscalePmuIntrDisable (void);/** * ixPerfProfAccXscalePmuClkCntGet (IxPerfProfAccXscalePmuEvtCnt *clkCount) * * This will get the current clock count and store it in a pointer. The * resulting clock over flow is also obtained. Parameters are: * * IxPerfProfAccXscalePmuEvtCnt *clkCount * */voidixPerfProfAccXscalePmuClkCntGet (IxPerfProfAccXscalePmuEvtCnt *clkCount);/** * ixPerfProfAccXscalePmuEvtCntGet ( IxPerfProfAccXscalePmuEvtCnt *eventCount) * * This will get the current event count for each of the counters that * were activated by the client and store them in pointers. Parameters are: * * IxPerfProfAccXscalePmuEvtCnt *eventCount - pointer to the struct that * contains the upper and lower 32 values of a counter. Before calling this * function, the struct will be declared as an array of 4 to represent the * values of each of the event counters. * */IxPerfProfAccStatusixPerfProfAccXscalePmuEvtCntGet ( IxPerfProfAccXscalePmuEvtCnt *eventCount);/** * ixPerfProfAccXscalePmuProfileConstruct( UINT32 pcAddr, IxPerfProfAccXscalePmuSamplePcProfile *profile) * * This will construct the profiling results summary by: * -Creating and initializing the results array * -For the number of samples taken, capture the different values of PC and the * frequencies of their occurrence. * Parameters are: * * UINT32 pcAddr - address of the PC * IxPerfProfAccXscalePmuSamplePcProfile *profile - pointer to results profile * */ voidixPerfProfAccXscalePmuProfileConstruct ( UINT32 pcAddr, IxPerfProfAccXscalePmuSamplePcProfile *profile);/** * ixPerfProfAccXscalePmuOverFlowRead(void) * * This inline function will use assembly code to read the overflow flag * status register and return it * */INLINE UINT32_ixPerfProfAccXscalePmuOverFlowRead(void);/** * ixPerfProfAccXscalePmuOverFlowWrite(UINT32 value) * * This inline function will use assembly code to write the overflow flag * status register. Parameters are: * * UINT32 value - value to write to register * * @return - none */INLINE void _ixPerfProfAccXscalePmuOverFlowWrite(UINT32 value);/** * ixPerfProfAccXscalePmuCcntRead(void) * * This inline function will use assembly code to read the clock counter * register and return it * */INLINE UINT32_ixPerfProfAccXscalePmuCcntRead(void);/** * ixPerfProfAccXscalePmuCcntWrite(void) * * This inline function will use assembly code to write the clock counter * register. Parameters are: * * UINT32 value - value to write to register * */INLINE void _ixPerfProfAccXscalePmuCcntWrite(UINT32 value);/** * ixPerfProfAccXscalePmuIntenRead(void) * * This inline function will use assembly code to read the PMU interrupt * enable register and return it * */INLINE unsigned_ixPerfProfAccXscalePmuIntenRead(void);/** * ixPerfProfAccXscalePmuIntenWrite(UINT32 value) * * This inline function will use assembly code to write the PMU interrupt * enable register. Parameters are: * * UINT32 value - value to write to register * */INLINE void_ixPerfProfAccXscalePmuIntenWrite(UINT32 value);/** * ixPerfProfAccXscalePmuPmncRead(void) * * This inline function will use assembly code to read the PMNC register and * return it and return it * */INLINE UINT32_ixPerfProfAccXscalePmuPmncRead(void);/** * ixPerfProfAccXscalePmuPmncWrite(void) * * This inline function will use assembly code to write the PMNC register * Parameters are: * * UINT32 value - value to write to register * */INLINE void_ixPerfProfAccXscalePmuPmncWrite(UINT32 value);/** * ixPerfProfAccXscalePmuEvtSelectWrite(UINT32 value) * * This inline function will use assembly code to write to the event select * register. Parameters are: * * UINT32 value - The specific value to write into the register * */INLINE void _ixPerfProfAccXscalePmuEvtSelectWrite(UINT32 value);/** * ixPerfProfAccXscalePmuEvtSelectRead(void) * * This inline function will use assembly code to read the event select * register. * * Return * UINT32 value - The specific value read from the register * */INLINE UINT32_ixPerfProfAccXscalePmuEvtSelectRead(void);/** * ixPerfProfAccXscalePmuPmnRead(UINT32 num, BOOL *check) * * This inline function will use assembly code to read event registers and * return it. Parameters are: * * UINT32 num - The specific event counter register to read from * BOOL *check - pointer to check for validity of num passed in; value is set * to FALSE if num passed in is invalid, and TRUE if num passed in is valid. The * pointer should be initialized to TRUE before being passed in * */INLINE UINT32_ixPerfProfAccXscalePmuPmnRead(UINT32 num, BOOL *check);/** * ixPerfProfAccXscalePmuPmnWrite(UINT32 num, UINT32 value, BOOL *check) * * This inline function will use assembly code to write to the event * registers. Parameters are: * * UINT32 num - The specific event counter register to write to * UINT32 value - The value to be written to the register * BOOL *check - pointer to check for validity of num passed in; value is set * to FALSE if num passed in is invalid, and TRUE if num passed in is valid. The * pointer should be initialized to TRUE before being passed in */INLINE void _ixPerfProfAccXscalePmuPmnWrite(UINT32 num, UINT32 value, BOOL *check);/** * _ixPerfProfAccXscalePmuProfilePcStore () * * This inline function will store the interrupted Pc into array selected * by eventCounterId. * * * UINT32 eventCounterId - which event counter is selected. * UINT32 idx - Index of array which PC is to be stored. * UINT32 pc - Value of PC to be stored. */INLINE void_ixPerfProfAccXscalePmuProfilePcStore ( UINT32 eventCounterId, UINT32 idx, UINT32 pc);/** * _ixPerfProfAccXscalePmuEventHandler () * * This inline function handle interrupts generated by PMU * events (excluding clock interrupts). * * UINT32 eventOflowSelect - overflow bit for the event * UINT32 eventCounterId - which event counter is selected. * UINT32 pcAddr - Value of PC to be stored (used only for profiling) */VXWORKS_INLINE void _ixPerfProfAccXscalePmuEventHandler ( UINT32 eventOflowSelect, UINT32 eventCounterId, UINT32 pcAddr); /** * ixPerfProfAccXscalePmuIntrHandler (void); * * Interrupt Handler for Xscale PMU events * */voidixPerfProfAccXscalePmuIntrHandler (void);/** * ixPerfProfAccXscalePmuProfileSort * (IxPerfProfAccXscalePmuSamplePcProfile *profileArray, UINT32 total) * This function sorts the profile into the order of descending frequencies. * * IxPerfProfAccXscalePmuSamplePcProfile *profileArray - Profile that need sorting. * UINT32 total - Total elements required in profile. */voidixPerfProfAccXscalePmuProfileSort (IxPerfProfAccXscalePmuSamplePcProfile *profileArray, UINT32 total);#ifdef __linuxvoidixPerfProfAccXscalePmuSymbolGet(UINT32 pcAddress, char *symbol, UINT32 *symbolAddress, char *module);#endif#endif /*ifdef IXPERFPROFACCXSCALEPMU_P_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -