OpenCSD - CoreSight Trace Decode Library  1.3.3
Public Types | Public Member Functions | Static Public Attributes | List of all members

Interpreter class for etm v3 config structure. More...

#include <trc_cmp_cfg_etmv3.h>

Inheritance diagram for EtmV3Config:
Inheritance graph
[legend]
Collaboration diagram for EtmV3Config:
Collaboration graph
[legend]

Public Types

enum  EtmTraceMode {
  TM_INSTR_ONLY , TM_I_DATA_VAL , TM_I_DATA_ADDR , TM_I_DATA_VAL_ADDR ,
  TM_DATAONLY_VAL , TM_DATAONLY_ADDR , TM_DATAONLY_VAL_ADDR
}
 combination enum to describe trace mode. More...
 

Public Member Functions

 EtmV3Config ()
 
 EtmV3Config (const ocsd_etmv3_cfg *cfg_regs)
 
 ~EtmV3Config ()
 
 operator const ocsd_etmv3_cfg & () const
 cast operator returning struct const reference More...
 
 operator const ocsd_etmv3_cfg * () const
 cast operator returning struct const pointer More...
 
EtmTraceMode const GetTraceMode () const
 return trace mode More...
 
const int CtxtIDBytes () const
 number of context ID bytes traced 1,2,4; More...
 
ETMV3 configuration
EtmV3Configoperator= (const ocsd_etmv3_cfg *p_cfg)
 copy assignment operator for C-API base structure into class. More...
 
const bool isInstrTrace () const
 instruction trace present. More...
 
const bool isDataValTrace () const
 data value trace present. More...
 
const bool isDataAddrTrace () const
 data address trace present.
More...
 
const bool isDataTrace () const
 either or both data trace types present. More...
 
const bool isCycleAcc () const
 return true if cycle accurate tracing enabled. More...
 
const int MinorRev () const
 return X revision in 3.X More...
 
const bool isV7MArch () const
 source is V7M architecture More...
 
const bool isAltBranch () const
 Alternate branch packet encoding used. More...
 
const bool hasVirtExt () const
 processor has virtualisation extensions. More...
 
const bool isVMIDTrace () const
 VMID tracing enabled. More...
 
const bool hasTS () const
 Timestamps implemented in trace. More...
 
const bool isTSEnabled () const
 Timestamp trace is enabled. More...
 
const bool TSPkt64 () const
 timestamp packet is 64 bits in size. More...
 
virtual const uint8_t getTraceID () const
 CoreSight Trace ID for this device. More...
 
const ocsd_arch_version_t getArchVersion () const
 architecture version More...
 
const ocsd_core_profile_t getCoreProfile () const
 core profile. More...
 
- Public Member Functions inherited from CSConfig
 CSConfig ()
 
virtual ~CSConfig ()
 

Static Public Attributes

static const uint32_t CTRL_DATAVAL = 0x4
 
static const uint32_t CTRL_DATAADDR = 0x8
 
static const uint32_t CTRL_CYCLEACC = 0x1000
 
static const uint32_t CTRL_DATAONLY = 0x100000
 
static const uint32_t CTRL_TS_ENA = (0x1 << 28)
 
static const uint32_t CTRL_VMID_ENA = (0x1 << 30)
 
static const uint32_t CCER_HAS_TS = (0x1 << 22)
 
static const uint32_t CCER_VIRTEXT = (0x1 << 26)
 
static const uint32_t CCER_TS64BIT = (0x1 << 29)
 
static const uint32_t IDR_ALTBRANCH = 0x100000
 

Detailed Description

Interpreter class for etm v3 config structure.

Provides quick value interpretation methods for the ETMv3 config register values. Primarily inlined for efficient code.

Definition at line 58 of file trc_cmp_cfg_etmv3.h.

Member Enumeration Documentation

◆ EtmTraceMode

combination enum to describe trace mode.

Enumerator
TM_INSTR_ONLY 

instruction only trace

TM_I_DATA_VAL 

instruction + data value

TM_I_DATA_ADDR 

instruction + data address

TM_I_DATA_VAL_ADDR 

instr + data value + data address

TM_DATAONLY_VAL 

data value trace

TM_DATAONLY_ADDR 

data address trace

TM_DATAONLY_VAL_ADDR 

data value + address trace

Definition at line 90 of file trc_cmp_cfg_etmv3.h.

Constructor & Destructor Documentation

◆ EtmV3Config() [1/2]

EtmV3Config::EtmV3Config ( )

Default constructor

◆ EtmV3Config() [2/2]

EtmV3Config::EtmV3Config ( const ocsd_etmv3_cfg cfg_regs)

◆ ~EtmV3Config()

EtmV3Config::~EtmV3Config ( )
inline

Definition at line 63 of file trc_cmp_cfg_etmv3.h.

Member Function Documentation

◆ CtxtIDBytes()

const int EtmV3Config::CtxtIDBytes ( ) const

number of context ID bytes traced 1,2,4;

◆ GetTraceMode()

EtmTraceMode const EtmV3Config::GetTraceMode ( ) const

return trace mode

◆ operator const ocsd_etmv3_cfg &()

EtmV3Config::operator const ocsd_etmv3_cfg & ( ) const
inline

cast operator returning struct const reference

Definition at line 85 of file trc_cmp_cfg_etmv3.h.

◆ operator const ocsd_etmv3_cfg *()

EtmV3Config::operator const ocsd_etmv3_cfg * ( ) const
inline

cast operator returning struct const pointer

Definition at line 87 of file trc_cmp_cfg_etmv3.h.

Member Data Documentation

◆ CCER_HAS_TS

const uint32_t EtmV3Config::CCER_HAS_TS = (0x1 << 22)
static

Definition at line 73 of file trc_cmp_cfg_etmv3.h.

◆ CCER_TS64BIT

const uint32_t EtmV3Config::CCER_TS64BIT = (0x1 << 29)
static

Definition at line 75 of file trc_cmp_cfg_etmv3.h.

◆ CCER_VIRTEXT

const uint32_t EtmV3Config::CCER_VIRTEXT = (0x1 << 26)
static

Definition at line 74 of file trc_cmp_cfg_etmv3.h.

◆ CTRL_CYCLEACC

const uint32_t EtmV3Config::CTRL_CYCLEACC = 0x1000
static

Definition at line 68 of file trc_cmp_cfg_etmv3.h.

◆ CTRL_DATAADDR

const uint32_t EtmV3Config::CTRL_DATAADDR = 0x8
static

Definition at line 67 of file trc_cmp_cfg_etmv3.h.

◆ CTRL_DATAONLY

const uint32_t EtmV3Config::CTRL_DATAONLY = 0x100000
static

Definition at line 69 of file trc_cmp_cfg_etmv3.h.

◆ CTRL_DATAVAL

const uint32_t EtmV3Config::CTRL_DATAVAL = 0x4
static

Default destructor

Definition at line 66 of file trc_cmp_cfg_etmv3.h.

◆ CTRL_TS_ENA

const uint32_t EtmV3Config::CTRL_TS_ENA = (0x1 << 28)
static

Definition at line 70 of file trc_cmp_cfg_etmv3.h.

◆ CTRL_VMID_ENA

const uint32_t EtmV3Config::CTRL_VMID_ENA = (0x1 << 30)
static

Definition at line 71 of file trc_cmp_cfg_etmv3.h.

◆ IDR_ALTBRANCH

const uint32_t EtmV3Config::IDR_ALTBRANCH = 0x100000
static

Definition at line 77 of file trc_cmp_cfg_etmv3.h.


The documentation for this class was generated from the following file: