OpenCSD - CoreSight Trace Decode Library  0.14.4
Classes
OpenCSD Library : Trace Source Protocol Configuration.

Classes describing the trace capture time configuration of the trace source hardware. More...

Classes

class  EtmV3Config
 Interpreter class for etm v3 config structure. More...
 
class  EtmV4Config
 Interpreter class for etm v4 config structure. More...
 
class  PtmConfig
 Interpreter class for PTM Hardware configuration. More...
 
class  STMConfig
 STM hardware configuration data. More...
 
class  CSConfig
 Base class for configuration data on CoreSight trace component. More...
 

ETMV3 configuration

EtmV3ConfigEtmV3Config::operator= (const ocsd_etmv3_cfg *p_cfg)
 copy assignment operator for C-API base structure into class. More...
 
const bool EtmV3Config::isCycleAcc () const
 return true if cycle accurate tracing enabled. More...
 
const int EtmV3Config::MinorRev () const
 return X revision in 3.X More...
 
const bool EtmV3Config::isInstrTrace () const
 instruction trace present. More...
 
const bool EtmV3Config::isDataValTrace () const
 data value trace present. More...
 
const bool EtmV3Config::isDataAddrTrace () const
 data address trace present.
More...
 
const bool EtmV3Config::isDataTrace () const
 either or both data trace types present. More...
 
const bool EtmV3Config::isV7MArch () const
 source is V7M architecture More...
 
const bool EtmV3Config::isAltBranch () const
 Alternate branch packet encoding used. More...
 
const bool EtmV3Config::hasVirtExt () const
 processor has virtualisation extensions. More...
 
const bool EtmV3Config::TSPkt64 () const
 timestamp packet is 64 bits in size. More...
 
const bool EtmV3Config::hasTS () const
 Timestamps implemented in trace. More...
 
const bool EtmV3Config::isTSEnabled () const
 Timestamp trace is enabled. More...
 
const bool EtmV3Config::isVMIDTrace () const
 VMID tracing enabled. More...
 
virtual const uint8_t EtmV3Config::getTraceID () const
 CoreSight Trace ID for this device. More...
 
const ocsd_arch_version_t EtmV3Config::getArchVersion () const
 architecture version More...
 
const ocsd_core_profile_t EtmV3Config::getCoreProfile () const
 core profile. More...
 

ETMv4 configuration

const bool EtmV4Config::LSasInstP0 () const
 
const bool EtmV4Config::hasDataTrace () const
 
const bool EtmV4Config::hasBranchBroadcast () const
 
const bool EtmV4Config::hasCondTrace () const
 
const bool EtmV4Config::hasCycleCountI () const
 
const bool EtmV4Config::hasRetStack () const
 
const uint8_t EtmV4Config::numEvents () const
 
const condType EtmV4Config::hasCondType () const
 
const QSuppType EtmV4Config::getQSuppType ()
 
const bool EtmV4Config::hasQElem ()
 
const bool EtmV4Config::hasQFilter ()
 
const bool EtmV4Config::hasTrcExcpData () const
 
const uint32_t EtmV4Config::TimeStampSize () const
 
const bool EtmV4Config::commitOpt1 () const
 
const uint8_t EtmV4Config::MajVersion () const
 
const uint8_t EtmV4Config::MinVersion () const
 
const uint8_t EtmV4Config::FullVersion () const
 
const uint32_t EtmV4Config::iaSizeMax () const
 
const uint32_t EtmV4Config::cidSize () const
 
const uint32_t EtmV4Config::vmidSize ()
 
const uint32_t EtmV4Config::daSize () const
 
const uint32_t EtmV4Config::dvSize () const
 
const uint32_t EtmV4Config::ccSize () const
 
const bool EtmV4Config::vmidOpt () const
 
const bool EtmV4Config::wfiwfeBranch () const
 
const uint32_t EtmV4Config::MaxSpecDepth () const
 
const uint32_t EtmV4Config::P0_Key_Max () const
 
const uint32_t EtmV4Config::P1_Key_Max () const
 
const uint32_t EtmV4Config::P1_Spcl_Key_Max () const
 
const uint32_t EtmV4Config::CondKeyMax () const
 
const uint32_t EtmV4Config::CondSpecKeyMax () const
 
const uint32_t EtmV4Config::CondKeyMaxIncr () const
 
virtual const uint8_t EtmV4Config::getTraceID () const
 CoreSight Trace ID for this device. More...
 
const bool EtmV4Config::enabledDVTrace () const
 
const bool EtmV4Config::enabledDATrace () const
 
const bool EtmV4Config::enabledDataTrace () const
 
const bool EtmV4Config::enabledLSP0Trace () const
 
const LSP0_t EtmV4Config::LSP0Type () const
 
const bool EtmV4Config::enabledBrBroad () const
 
const bool EtmV4Config::enabledCCI () const
 
const bool EtmV4Config::enabledCID () const
 
const bool EtmV4Config::enabledVMID () const
 
const CondITrace_t EtmV4Config::enabledCondITrace ()
 
const bool EtmV4Config::enabledTS () const
 
const bool EtmV4Config::enabledRetStack () const
 
const bool EtmV4Config::enabledQE () const
 

PTM configuration

PtmConfigPtmConfig::operator= (const ocsd_ptm_cfg *p_cfg)
 copy assignment operator for base structure into class. More...
 
const bool PtmConfig::enaBranchBCast () const
 Branch broadcast enabled. More...
 
const bool PtmConfig::enaCycleAcc () const
 cycle accurate tracing enabled. More...
 
const bool PtmConfig::enaRetStack () const
 return stack enabled. More...
 
const bool PtmConfig::hasRetStack () const
 return stack implemented. More...
 
const int PtmConfig::MinorRev () const
 return X revision in 1.X More...
 
const bool PtmConfig::hasTS () const
 Timestamps implemented in trace. More...
 
const bool PtmConfig::enaTS () const
 Timestamp trace is enabled. More...
 
const bool PtmConfig::TSPkt64 () const
 timestamp packet is 64 bits in size. More...
 
const bool PtmConfig::TSBinEnc () const
 Timestamp encoded as natural binary number. More...
 
const bool PtmConfig::hasVirtExt () const
 processor has virtualisation extensions. More...
 
const bool PtmConfig::enaVMID () const
 VMID tracing enabled. More...
 
const bool PtmConfig::dmsbGenTS () const
 TS generated for DMB and DSB. More...
 
const bool PtmConfig::dmsbWayPt () const
 DMB and DSB are waypoint instructions. More...
 
virtual const uint8_t PtmConfig::getTraceID () const
 CoreSight Trace ID for this device. More...
 

STM configuration

 STMConfig::STMConfig ()
 Constructor - creates a default configuration. More...
 
 STMConfig::STMConfig (const ocsd_stm_cfg *cfg_regs)
 
STMConfigSTMConfig::operator= (const ocsd_stm_cfg *p_cfg)
 
void STMConfig::setTraceID (const uint8_t traceID)
 Set the CoreSight trace ID. More...
 
void STMConfig::setHWTraceFeat (const hw_event_feat_t hw_feat)
 set usage of STM HW event trace. More...
 
virtual const uint8_t STMConfig::getTraceID () const
 Get the CoreSight trace ID. More...
 
const uint8_t STMConfig::getMaxMasterIdx () const
 Get the maximum master index. More...
 
const uint16_t STMConfig::getMaxChannelIdx () const
 Get the maximum channel index. More...
 
const uint16_t STMConfig::getHWTraceMasterIdx () const
 Get the master used for HW event trace. More...
 
bool STMConfig::getHWTraceEn () const
 return true if HW trace is present and enabled. More...
 

Detailed Description

Classes describing the trace capture time configuration of the trace source hardware.

Protocol configuration represents the trace capture time settings for the CoreSight hardware component generating the trace. The packet processors and packet decoders require this configuration information to correctly interpret packets and decode trace.

Function Documentation

◆ ccSize()

const uint32_t EtmV4Config::ccSize ( ) const
inline

Definition at line 323 of file trc_cmp_cfg_etmv4.h.

◆ cidSize()

const uint32_t EtmV4Config::cidSize ( ) const
inline

Definition at line 293 of file trc_cmp_cfg_etmv4.h.

◆ commitOpt1()

const bool EtmV4Config::commitOpt1 ( ) const
inline

Definition at line 266 of file trc_cmp_cfg_etmv4.h.

Here is the call graph for this function:

◆ CondKeyMax()

const uint32_t EtmV4Config::CondKeyMax ( ) const
inline

Definition at line 361 of file trc_cmp_cfg_etmv4.h.

◆ CondKeyMaxIncr()

const uint32_t EtmV4Config::CondKeyMaxIncr ( ) const
inline

Definition at line 371 of file trc_cmp_cfg_etmv4.h.

◆ CondSpecKeyMax()

const uint32_t EtmV4Config::CondSpecKeyMax ( ) const
inline

Definition at line 366 of file trc_cmp_cfg_etmv4.h.

◆ daSize()

const uint32_t EtmV4Config::daSize ( ) const
inline

Definition at line 307 of file trc_cmp_cfg_etmv4.h.

◆ dmsbGenTS()

const bool PtmConfig::dmsbGenTS ( ) const
inline

TS generated for DMB and DSB.

Definition at line 191 of file trc_cmp_cfg_ptm.h.

◆ dmsbWayPt()

const bool PtmConfig::dmsbWayPt ( ) const
inline

DMB and DSB are waypoint instructions.

Definition at line 196 of file trc_cmp_cfg_ptm.h.

◆ dvSize()

const uint32_t EtmV4Config::dvSize ( ) const
inline

Definition at line 315 of file trc_cmp_cfg_etmv4.h.

◆ enabledBrBroad()

const bool EtmV4Config::enabledBrBroad ( ) const
inline

Definition at line 407 of file trc_cmp_cfg_etmv4.h.

◆ enabledCCI()

const bool EtmV4Config::enabledCCI ( ) const
inline

Definition at line 412 of file trc_cmp_cfg_etmv4.h.

◆ enabledCID()

const bool EtmV4Config::enabledCID ( ) const
inline

Definition at line 417 of file trc_cmp_cfg_etmv4.h.

◆ enabledCondITrace()

const EtmV4Config::CondITrace_t EtmV4Config::enabledCondITrace ( )
inline

Definition at line 427 of file trc_cmp_cfg_etmv4.h.

◆ enabledDataTrace()

const bool EtmV4Config::enabledDataTrace ( ) const
inline

Definition at line 392 of file trc_cmp_cfg_etmv4.h.

Here is the call graph for this function:

◆ enabledDATrace()

const bool EtmV4Config::enabledDATrace ( ) const
inline

Definition at line 387 of file trc_cmp_cfg_etmv4.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enabledDVTrace()

const bool EtmV4Config::enabledDVTrace ( ) const
inline

Definition at line 382 of file trc_cmp_cfg_etmv4.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enabledLSP0Trace()

const bool EtmV4Config::enabledLSP0Trace ( ) const
inline

Definition at line 397 of file trc_cmp_cfg_etmv4.h.

Here is the caller graph for this function:

◆ enabledQE()

const bool EtmV4Config::enabledQE ( ) const
inline

Definition at line 455 of file trc_cmp_cfg_etmv4.h.

◆ enabledRetStack()

const bool EtmV4Config::enabledRetStack ( ) const
inline

Definition at line 450 of file trc_cmp_cfg_etmv4.h.

◆ enabledTS()

const bool EtmV4Config::enabledTS ( ) const
inline

Definition at line 445 of file trc_cmp_cfg_etmv4.h.

◆ enabledVMID()

const bool EtmV4Config::enabledVMID ( ) const
inline

Definition at line 422 of file trc_cmp_cfg_etmv4.h.

◆ enaBranchBCast()

const bool PtmConfig::enaBranchBCast ( ) const
inline

Branch broadcast enabled.

Definition at line 134 of file trc_cmp_cfg_ptm.h.

◆ enaCycleAcc()

const bool PtmConfig::enaCycleAcc ( ) const
inline

cycle accurate tracing enabled.

Definition at line 139 of file trc_cmp_cfg_ptm.h.

◆ enaRetStack()

const bool PtmConfig::enaRetStack ( ) const
inline

return stack enabled.

Definition at line 144 of file trc_cmp_cfg_ptm.h.

◆ enaTS()

const bool PtmConfig::enaTS ( ) const
inline

Timestamp trace is enabled.

Definition at line 164 of file trc_cmp_cfg_ptm.h.

◆ enaVMID()

const bool PtmConfig::enaVMID ( ) const
inline

VMID tracing enabled.

Definition at line 186 of file trc_cmp_cfg_ptm.h.

◆ FullVersion()

const uint8_t EtmV4Config::FullVersion ( ) const
inline

Definition at line 282 of file trc_cmp_cfg_etmv4.h.

Here is the caller graph for this function:

◆ getArchVersion()

const ocsd_arch_version_t EtmV3Config::getArchVersion ( ) const
inline

architecture version

Definition at line 219 of file trc_cmp_cfg_etmv3.h.

◆ getCoreProfile()

const ocsd_core_profile_t EtmV3Config::getCoreProfile ( ) const
inline

core profile.

Definition at line 224 of file trc_cmp_cfg_etmv3.h.

◆ getHWTraceEn()

bool STMConfig::getHWTraceEn ( ) const
inline

return true if HW trace is present and enabled.

Definition at line 149 of file trc_cmp_cfg_stm.h.

◆ getHWTraceMasterIdx()

const uint16_t STMConfig::getHWTraceMasterIdx ( ) const
inline

Get the master used for HW event trace.

Definition at line 144 of file trc_cmp_cfg_stm.h.

◆ getMaxChannelIdx()

const uint16_t STMConfig::getMaxChannelIdx ( ) const
inline

Get the maximum channel index.

Definition at line 139 of file trc_cmp_cfg_stm.h.

◆ getMaxMasterIdx()

const uint8_t STMConfig::getMaxMasterIdx ( ) const
inline

Get the maximum master index.

Definition at line 134 of file trc_cmp_cfg_stm.h.

◆ getQSuppType()

const EtmV4Config::QSuppType EtmV4Config::getQSuppType ( )
inline

Definition at line 233 of file trc_cmp_cfg_etmv4.h.

◆ getTraceID() [1/4]

const uint8_t EtmV3Config::getTraceID ( ) const
inlinevirtual

CoreSight Trace ID for this device.

Implements CSConfig.

Definition at line 214 of file trc_cmp_cfg_etmv3.h.

◆ getTraceID() [2/4]

const uint8_t EtmV4Config::getTraceID ( ) const
inlinevirtual

CoreSight Trace ID for this device.

Implements CSConfig.

Definition at line 376 of file trc_cmp_cfg_etmv4.h.

◆ getTraceID() [3/4]

const uint8_t PtmConfig::getTraceID ( ) const
inlinevirtual

CoreSight Trace ID for this device.

Implements CSConfig.

Definition at line 201 of file trc_cmp_cfg_ptm.h.

◆ getTraceID() [4/4]

const uint8_t STMConfig::getTraceID ( ) const
inlinevirtual

Get the CoreSight trace ID.

Implements CSConfig.

Definition at line 129 of file trc_cmp_cfg_stm.h.

◆ hasBranchBroadcast()

const bool EtmV4Config::hasBranchBroadcast ( ) const
inline

Definition at line 203 of file trc_cmp_cfg_etmv4.h.

◆ hasCondTrace()

const bool EtmV4Config::hasCondTrace ( ) const
inline

Definition at line 208 of file trc_cmp_cfg_etmv4.h.

◆ hasCondType()

const EtmV4Config::condType EtmV4Config::hasCondType ( ) const
inline

Definition at line 228 of file trc_cmp_cfg_etmv4.h.

◆ hasCycleCountI()

const bool EtmV4Config::hasCycleCountI ( ) const
inline

Definition at line 213 of file trc_cmp_cfg_etmv4.h.

Here is the caller graph for this function:

◆ hasDataTrace()

const bool EtmV4Config::hasDataTrace ( ) const
inline

Definition at line 198 of file trc_cmp_cfg_etmv4.h.

Here is the caller graph for this function:

◆ hasQElem()

const bool EtmV4Config::hasQElem ( )
inline

Definition at line 239 of file trc_cmp_cfg_etmv4.h.

◆ hasQFilter()

const bool EtmV4Config::hasQFilter ( )
inline

Definition at line 245 of file trc_cmp_cfg_etmv4.h.

◆ hasRetStack() [1/2]

const bool EtmV4Config::hasRetStack ( ) const
inline

Definition at line 218 of file trc_cmp_cfg_etmv4.h.

◆ hasRetStack() [2/2]

const bool PtmConfig::hasRetStack ( ) const
inline

return stack implemented.

Definition at line 149 of file trc_cmp_cfg_ptm.h.

◆ hasTrcExcpData()

const bool EtmV4Config::hasTrcExcpData ( ) const
inline

Definition at line 251 of file trc_cmp_cfg_etmv4.h.

◆ hasTS() [1/2]

const bool EtmV3Config::hasTS ( ) const
inline

Timestamps implemented in trace.

TS implemented.

Definition at line 197 of file trc_cmp_cfg_etmv3.h.

◆ hasTS() [2/2]

const bool PtmConfig::hasTS ( ) const
inline

Timestamps implemented in trace.

Definition at line 159 of file trc_cmp_cfg_ptm.h.

◆ hasVirtExt() [1/2]

const bool EtmV3Config::hasVirtExt ( ) const
inline

processor has virtualisation extensions.

processor implements virtualisation extensions.

Definition at line 185 of file trc_cmp_cfg_etmv3.h.

◆ hasVirtExt() [2/2]

const bool PtmConfig::hasVirtExt ( ) const
inline

processor has virtualisation extensions.

Definition at line 181 of file trc_cmp_cfg_ptm.h.

◆ iaSizeMax()

const uint32_t EtmV4Config::iaSizeMax ( ) const
inline

Definition at line 288 of file trc_cmp_cfg_etmv4.h.

◆ isAltBranch()

const bool EtmV3Config::isAltBranch ( ) const
inline

Alternate branch packet encoding used.

has alternate branch encoding

Definition at line 179 of file trc_cmp_cfg_etmv3.h.

Here is the call graph for this function:

◆ isCycleAcc()

const bool EtmV3Config::isCycleAcc ( ) const
inline

return true if cycle accurate tracing enabled.

Definition at line 141 of file trc_cmp_cfg_etmv3.h.

◆ isDataAddrTrace()

const bool EtmV3Config::isDataAddrTrace ( ) const
inline

data address trace present.

Definition at line 162 of file trc_cmp_cfg_etmv3.h.

◆ isDataTrace()

const bool EtmV3Config::isDataTrace ( ) const
inline

either or both data trace types present.

either or both data trace present

Definition at line 168 of file trc_cmp_cfg_etmv3.h.

◆ isDataValTrace()

const bool EtmV3Config::isDataValTrace ( ) const
inline

data value trace present.

Definition at line 157 of file trc_cmp_cfg_etmv3.h.

◆ isInstrTrace()

const bool EtmV3Config::isInstrTrace ( ) const
inline

instruction trace present.

Definition at line 152 of file trc_cmp_cfg_etmv3.h.

◆ isTSEnabled()

const bool EtmV3Config::isTSEnabled ( ) const
inline

Timestamp trace is enabled.

TS is enabled in the trace.

Definition at line 203 of file trc_cmp_cfg_etmv3.h.

◆ isV7MArch()

const bool EtmV3Config::isV7MArch ( ) const
inline

source is V7M architecture

Definition at line 173 of file trc_cmp_cfg_etmv3.h.

◆ isVMIDTrace()

const bool EtmV3Config::isVMIDTrace ( ) const
inline

VMID tracing enabled.

tracing VMID

Definition at line 209 of file trc_cmp_cfg_etmv3.h.

◆ LSasInstP0()

const bool EtmV4Config::LSasInstP0 ( ) const
inline

Definition at line 193 of file trc_cmp_cfg_etmv4.h.

◆ LSP0Type()

const EtmV4Config::LSP0_t EtmV4Config::LSP0Type ( ) const
inline

Definition at line 402 of file trc_cmp_cfg_etmv4.h.

◆ MajVersion()

const uint8_t EtmV4Config::MajVersion ( ) const
inline

Definition at line 272 of file trc_cmp_cfg_etmv4.h.

◆ MaxSpecDepth()

const uint32_t EtmV4Config::MaxSpecDepth ( ) const
inline

Definition at line 341 of file trc_cmp_cfg_etmv4.h.

◆ MinorRev() [1/2]

const int EtmV3Config::MinorRev ( ) const
inline

return X revision in 3.X

Definition at line 147 of file trc_cmp_cfg_etmv3.h.

Here is the caller graph for this function:

◆ MinorRev() [2/2]

const int PtmConfig::MinorRev ( ) const
inline

return X revision in 1.X

Definition at line 154 of file trc_cmp_cfg_ptm.h.

Here is the caller graph for this function:

◆ MinVersion()

const uint8_t EtmV4Config::MinVersion ( ) const
inline

Definition at line 277 of file trc_cmp_cfg_etmv4.h.

Here is the caller graph for this function:

◆ numEvents()

const uint8_t EtmV4Config::numEvents ( ) const
inline

Definition at line 223 of file trc_cmp_cfg_etmv4.h.

◆ operator=() [1/3]

EtmV3Config & EtmV3Config::operator= ( const ocsd_etmv3_cfg p_cfg)
inline

copy assignment operator for C-API base structure into class.

Definition at line 135 of file trc_cmp_cfg_etmv3.h.

◆ operator=() [2/3]

PtmConfig & PtmConfig::operator= ( const ocsd_ptm_cfg p_cfg)
inline

copy assignment operator for base structure into class.

Definition at line 127 of file trc_cmp_cfg_ptm.h.

◆ operator=() [3/3]

STMConfig & STMConfig::operator= ( const ocsd_stm_cfg p_cfg)
inline

set from full configuration structure.

Definition at line 107 of file trc_cmp_cfg_stm.h.

Here is the call graph for this function:

◆ P0_Key_Max()

const uint32_t EtmV4Config::P0_Key_Max ( ) const
inline

Definition at line 346 of file trc_cmp_cfg_etmv4.h.

◆ P1_Key_Max()

const uint32_t EtmV4Config::P1_Key_Max ( ) const
inline

Definition at line 351 of file trc_cmp_cfg_etmv4.h.

◆ P1_Spcl_Key_Max()

const uint32_t EtmV4Config::P1_Spcl_Key_Max ( ) const
inline

Definition at line 356 of file trc_cmp_cfg_etmv4.h.

◆ setHWTraceFeat()

void STMConfig::setHWTraceFeat ( const hw_event_feat_t  hw_feat)
inline

set usage of STM HW event trace.

Definition at line 121 of file trc_cmp_cfg_stm.h.

Here is the caller graph for this function:

◆ setTraceID()

void STMConfig::setTraceID ( const uint8_t  traceID)
inline

Set the CoreSight trace ID.

Definition at line 114 of file trc_cmp_cfg_stm.h.

◆ STMConfig() [1/2]

STMConfig::STMConfig ( )
inline

Constructor - creates a default configuration.

Definition at line 90 of file trc_cmp_cfg_stm.h.

◆ STMConfig() [2/2]

STMConfig::STMConfig ( const ocsd_stm_cfg cfg_regs)
inline

Definition at line 101 of file trc_cmp_cfg_stm.h.

Here is the call graph for this function:

◆ TimeStampSize()

const uint32_t EtmV4Config::TimeStampSize ( ) const
inline

Definition at line 256 of file trc_cmp_cfg_etmv4.h.

◆ TSBinEnc()

const bool PtmConfig::TSBinEnc ( ) const
inline

Timestamp encoded as natural binary number.

Definition at line 175 of file trc_cmp_cfg_ptm.h.

Here is the call graph for this function:

◆ TSPkt64() [1/2]

const bool EtmV3Config::TSPkt64 ( ) const
inline

timestamp packet is 64 bits in size.

TS packet is 64 bit.

Definition at line 191 of file trc_cmp_cfg_etmv3.h.

◆ TSPkt64() [2/2]

const bool PtmConfig::TSPkt64 ( ) const
inline

timestamp packet is 64 bits in size.

Definition at line 169 of file trc_cmp_cfg_ptm.h.

Here is the call graph for this function:

◆ vmidOpt()

const bool EtmV4Config::vmidOpt ( ) const
inline

Definition at line 328 of file trc_cmp_cfg_etmv4.h.

Here is the call graph for this function:

◆ vmidSize()

const uint32_t EtmV4Config::vmidSize ( )
inline

Definition at line 298 of file trc_cmp_cfg_etmv4.h.

◆ wfiwfeBranch()

const bool EtmV4Config::wfiwfeBranch ( ) const
inline

Definition at line 333 of file trc_cmp_cfg_etmv4.h.

Here is the call graph for this function: