A.12.1. CADIProfiling class definition

The CADIProfiling class definition is shown in Example A.15:

Example A.15. The CADIProfiling class

class CADI_WEXP CADIProfiling : public CAInterface
{
public:
   static if_rev_t IFREVISION() { return 0; }
   virtual CADIReturn_t CADIProfileSetup (CADIProfileType_t type,
                             uint32_t regionCount, CADIProfileRegion_t *region) = 0;
   virtual CADIReturn_t CADIProfileControl (CADIProfileControl_t control) = 0;
   virtual CADIReturn_t CADIProfileTraceControl (CADITraceBufferControl_t bufferArg,  
                             CADITraceControl_t control, CADITraceOverlayControl_t overlay) = 0;
   virtual CADIReturn_t CADIProfileGetExecution (CADIProfileResultType_t *type, uint32_t regIndex,
                             uint32_t regionSlots, uint32_t *regionCount,
                             CADIProfileResults_t *region) = 0;
   virtual CADIReturn_t CADIProfileGetMemory (CADIProfileResultType_t *type,  uint32_t regIndex,
                             uint32_t regionSlots, uint32_t *regionCount,
                             CADIProfileResults_t *region) = 0;   
   virtual CADIReturn_t CADIProfileGetTrace (uint32_t blockIndex, uint32_t blockSlots,
                             uint32_t *blockCount, CADITraceBlock_t *block) = 0;
   virtual CADIReturn_t CADIProfileGetRegAccesses(uint32_t startRegID, uint32_t numberOfRegs,
                             CADIRegProfileResults_t *reg, uint32_t &actualNumberOfRegs) = 0;
   virtual CADIReturn_t CADIProfileSetRegAccesses(uint32_t startRegID, uint32_t numberOfRegs,
                             CADIRegProfileResults_t *reg, uint32_t &actualNumberOfRegs) = 0;
   virtual CADIReturn_t CADIProfileGetMemAccesses(CADIAddrComplete_t startAddress,
                             uint32_t numberOfUnits, CADIMemProfileResults_t *mem,
                             uint32_t &actualNumberOfUnits) = 0;
   virtual CADIReturn_t CADIProfileSetMemAccesses(CADIAddrComplete_t startAddress,
                             uint32_t numberOfUnits, CADIMemProfileResults_t *mem,
                             uint32_t &actualNumberOfUnits) = 0;
   virtual CADIReturn_t CADIProfileGetAddrExecutionFrequency(uint64_t startAddr, uint32_t numberOfAddr, 
                            uint64_t *freq, uint32_t &actualNumberOfAddr) = 0;
   virtual CADIReturn_t CADIProfileSetAddrExecutionFrequency(uint64_t startAddr, uint32_t numberOfAddr,
                             uint64_t *freq, uint32_t &actualNumberOfAddr) = 0;
   virtual CADIReturn_t CADIGetNumberOfInstructions(uint32_t *num_instructions) = 0;
   virtual CADIReturn_t CADIProfileInitInstructionResultArray(uint32_t numberOfInstructions,
                             CADIInstructionProfileResults_t *instructions, 
                             uint32_t &actualNumberOfInstructions) = 0;
   virtual CADIReturn_t CADIProfileGetInstructionExecutionFrequency(uint32_t  numberOfInstructions,
                             CADIInstructionProfileResults_t *instructions,
                             uint32_t  &actualNumberOfInstructions ) = 0;
   virtual CADIReturn_t CADIProfileSetInstructionExecutionFrequency(uint32_t  numberOfInstructions,
                             CADIInstructionProfileResults_t *instructions,
                             uint32_t  &actualNumberOfInstructions ) = 0;
   virtual CADIReturn_t CADIRegisterProfileResourceAccess(const char *name,
                             CADIProfileResourceAccessType_t accessType) = 0;
   virtual CADIReturn_t CADIUnregisterProfileResourceAccess(const char *name) = 0;
   virtual CADIReturn_t CADIProfileRegisterCallBack(CADIProfilingCallbacks *callbackObject) = 0;
   virtual CADIReturn_t CADIProfileUnregisterCallBack(CADIProfilingCallbacks *callbackObject) = 0;
};

Copyright © 2008-2014 ARM. All rights reserved.ARM DUI 0444M
Non-ConfidentialID051314