EtmV4ITrcPacket Class Reference
OpenCSD Library : Trace Packet Types

ETMv4 Instuction Trace Protocol Packet. More...

`#include <trc_pkt_elem_etmv4i.h>`

Inheritance diagram for EtmV4ITrcPacket:
[legend]
Collaboration diagram for EtmV4ITrcPacket:
[legend]

## Public Member Functions

| EtmV4ITrcPacket ()
| ~EtmV4ITrcPacket ()
EtmV4ITrcPacket & | operator= (const ocsd_etmv4_i_pkt *p_pkt)
virtual const void * | c_pkt () const
| return the underlying C API packet structure More...
void | initStartState ()
| Set to initial state - no intra packet state valid. Use on start of trace / discontinuities. More...
void | initNextPacket ()
| clear any single packet only flags / state. More...
void | setType (const ocsd_etmv4_i_pkt_type pkt_type)
void | updateErrType (const ocsd_etmv4_i_pkt_type err_pkt_type, const uint8_t val=0)
void | clearTraceInfo ()
| clear all the trace info data prior to setting for new trace info packet. More...
void | setTraceInfo (const uint32_t infoVal)
void | setTraceInfoKey (const uint32_t keyVal)
void | setTraceInfoSpec (const uint32_t specVal)
void | setTraceInfoCyct (const uint32_t cyctVal)
void | setTS (const uint64_t value, const uint8_t bits)
void | setCycleCount (const uint32_t value)
void | setCommitElements (const uint32_t commit_elem)
void | setCancelElements (const uint32_t cancel_elem)
void | setAtomPacket (const ocsd_pkt_atm_type type, const uint32_t En_bits, const uint8_t num)
void | setCondIF1 (uint32_t const cond_key)
void | setCondIF2 (uint8_t const c_elem_idx)
void | setCondIF3 (uint8_t const num_c_elem, const bool finalElem)
void | setCondRF1 (const uint32_t key[2], const uint8_t res[2], const uint8_t CI[2], const bool set2Keys)
void | setCondRF2 (const uint8_t key_incr, const uint8_t token)
void | setCondRF3 (const uint16_t tokens)
void | setCondRF4 (const uint8_t token)
void | setContextInfo (const bool update, const uint8_t EL=0, const uint8_t NS=0, const uint8_t SF=0)
void | setContextVMID (const uint32_t VMID)
void | setContextCID (const uint32_t CID)
void | setExceptionInfo (const uint16_t excep_type, const uint8_t addr_interp, const uint8_t m_fault_pending, const uint8_t m_type)
void | set64BitAddress (const uint64_t addr, const uint8_t IS)
void | set32BitAddress (const uint32_t addr, const uint8_t IS)
void | updateShortAddress (const uint32_t addr, const uint8_t IS, const uint8_t update_bits)
void | setAddressExactMatch (const uint8_t idx)
void | setDataSyncMarker (const uint8_t dsm_val)
void | setEvent (const uint8_t event_val)
void | setQType (const bool has_count, const uint32_t count, const bool has_addr, const bool addr_match, const uint8_t type)
const ocsd_etmv4_i_pkt_type | getType () const
const ocsd_etmv4_i_pkt_type | getErrType () const
const bool | hasCommitElementsCount () const
| return true if this packet has set the commit packet count. More...
const etmv4_trace_info_t & | getTraceInfo () const
const uint32_t | getCCThreshold () const
const uint32_t | getP0Key () const
const uint32_t | getCurrSpecDepth () const
const ocsd_pkt_atom & | getAtom () const
const int | getNumAtoms () const
const etmv4_context_t & | getContext () const
const uint8_t & | getAddrMatch () const
const ocsd_vaddr_t & | getAddrVal () const
const uint8_t & | getAddrIS () const
const bool | getAddr64Bit () const
const uint64_t | getTS () const
const uint32_t | getCC () const
const int | getCommitElem () const
const int | getCancelElem () const
const bool | isBadPacket () const
virtual void | toString (std::string &str) const
virtual void | toStringFmt (const uint32_t fmtFlags, std::string &str) const
void | setProtocolVersion (const uint8_t version)
Public Member Functions inherited from TrcPacketBase
| TrcPacketBase ()
virtual | ~TrcPacketBase ()
Public Member Functions inherited from trcPrintableElem
| trcPrintableElem ()
virtual | ~trcPrintableElem ()

## Additional Inherited Members

Static Public Member Functions inherited from trcPrintableElem
static void | getValStr (std::string &valStr, const int valTotalBitSize, const int valValidBits, const uint64_t value, const bool asHex=true, const int updateBits=0)
Public Attributes inherited from _ocsd_etmv4_i_pkt
ocsd_etmv4_i_pkt_type | type
ocsd_pkt_vaddr | v_addr
| most recently broadcast address packet More...
uint8_t | v_addr_ISA
| ISA for the address packet. (0 = IS0 / 1 = IS1) More...
etmv4_context_t | context
| current context for PE More...
struct {
uint64_t timestamp
| current timestamp value More...
uint8_t bits_changed
| bits updated in this timestamp packet. More...
} | ts
uint32_t | cc_threshold
| cycle count threshold - from trace info. More...
ocsd_pkt_atom | atom
| atom elements - number of atoms indicates validity of packet More...
uint32_t | cycle_count
| cycle count More...
uint32_t | curr_spec_depth
| current speculation depth More...
uint32_t | p0_key
| current P0 key value for data packet synchronisation More...
uint32_t | commit_elements
uint32_t | cancel_elements
etmv4_trace_info_t | trace_info
| trace info structure - programmed configuration of trace capture. More...
struct {
uint32_t exceptionType:10
| exception number More...
uint32_t addr_interp:2
| address value interpretation More...
uint32_t m_fault_pending:1
| M class fault pending. More...
uint32_t m_type:1
| 1 if M class exception. More...
} | exception_info
uint8_t | addr_exact_match_idx
| address match index in this packet. More...
uint8_t | dsm_val
| Data Sync Marker number, or unnumbered atom count - packet type determines. More...
uint8_t | event_val
| Event value on event packet. More...
struct {
uint32_t cond_c_key
uint8_t num_c_elem
struct {
uint32_t cond_key_set:1
uint32_t f3_final_elem:1
uint32_t f2_cond_incr:1
} |
} | cond_instr
struct {
uint32_t cond_r_key_0
uint32_t cond_r_key_1
struct {
uint32_t res_0:4
uint32_t res_1:4
uint32_t ci_0:1
uint32_t ci_1:1
uint32_t key_res_0_set:1
uint32_t key_res_1_set:1
uint32_t f2_key_incr:2
uint32_t f2f4_token:2
uint32_t f3_tokens:12
} |
} | cond_result
struct {
uint32_t q_count
struct {
uint32_t addr_present:1
uint32_t addr_match:1
uint32_t count_present:1
uint32_t q_type:4
} |
} | Q_pkt
union {
uint32_t val
struct {
uint32_t context_valid:1
uint32_t ts_valid:1
uint32_t spec_depth_valid:1
uint32_t p0_key_valid:1
uint32_t cond_c_key_valid:1
uint32_t cond_r_key_valid:1
uint32_t trace_info_valid:1
uint32_t cc_thresh_valid:1
uint32_t cc_valid:1
uint32_t commit_elem_valid:1
} bits
} | pkt_valid
| valid bits for packet elements (addresses have their own valid bits). More...
ocsd_etmv4_i_pkt_type | err_type
uint8_t | err_hdr_val
uint8_t | protocol_version

## Detailed Description

ETMv4 Instuction Trace Protocol Packet.

This class represents a single ETMv4 data trace packet, along with intra packet state.

Definition at line 110 of file trc_pkt_elem_etmv4i.h.

## Constructor & Destructor Documentation

## EtmV4ITrcPacket()

EtmV4ITrcPacket::EtmV4ITrcPacket | ( |  | ) |

## ~EtmV4ITrcPacket()

EtmV4ITrcPacket::~EtmV4ITrcPacket | ( |  | ) |

## Member Function Documentation

## c_pkt()

virtual const void* EtmV4ITrcPacket::c_pkt | ( |  | ) | const

inline virtual

return the underlying C API packet structure

Implements TrcPacketBase.

Definition at line 118 of file trc_pkt_elem_etmv4i.h.

## getAddr64Bit()

const bool EtmV4ITrcPacket::getAddr64Bit | ( |  | ) | const

inline

Definition at line 191 of file trc_pkt_elem_etmv4i.h.

## getAddrIS()

const uint8_t& EtmV4ITrcPacket::getAddrIS | ( |  | ) | const

inline

Definition at line 190 of file trc_pkt_elem_etmv4i.h.

## getAddrMatch()

const uint8_t& EtmV4ITrcPacket::getAddrMatch | ( |  | ) | const

inline

Definition at line 188 of file trc_pkt_elem_etmv4i.h.

## getAddrVal()

const ocsd_vaddr_t& EtmV4ITrcPacket::getAddrVal | ( |  | ) | const

inline

Definition at line 189 of file trc_pkt_elem_etmv4i.h.

## getAtom()

const ocsd_pkt_atom& EtmV4ITrcPacket::getAtom | ( |  | ) | const

inline

Definition at line 181 of file trc_pkt_elem_etmv4i.h.

## getCancelElem()

const int EtmV4ITrcPacket::getCancelElem | ( |  | ) | const

inline

Definition at line 201 of file trc_pkt_elem_etmv4i.h.

## getCC()

const uint32_t EtmV4ITrcPacket::getCC | ( |  | ) | const

inline

Definition at line 197 of file trc_pkt_elem_etmv4i.h.

## getCommitElem()

const int EtmV4ITrcPacket::getCommitElem | ( |  | ) | const

inline

Definition at line 200 of file trc_pkt_elem_etmv4i.h.

## getContext()

const etmv4_context_t& EtmV4ITrcPacket::getContext | ( |  | ) | const

inline

Definition at line 185 of file trc_pkt_elem_etmv4i.h.

## getErrType()

const ocsd_etmv4_i_pkt_type EtmV4ITrcPacket::getErrType | ( |  | ) | const

inline

Definition at line 166 of file trc_pkt_elem_etmv4i.h.

## getNumAtoms()

const int EtmV4ITrcPacket::getNumAtoms | ( |  | ) | const

inline

Definition at line 182 of file trc_pkt_elem_etmv4i.h.

## getTraceInfo()

const etmv4_trace_info_t& EtmV4ITrcPacket::getTraceInfo | ( |  | ) | const

inline

Definition at line 175 of file trc_pkt_elem_etmv4i.h.

## getTS()

const uint64_t EtmV4ITrcPacket::getTS | ( |  | ) | const

inline

Definition at line 194 of file trc_pkt_elem_etmv4i.h.

## getType()

const ocsd_etmv4_i_pkt_type EtmV4ITrcPacket::getType | ( |  | ) | const

inline

Definition at line 165 of file trc_pkt_elem_etmv4i.h.

## hasCommitElementsCount()

const bool EtmV4ITrcPacket::hasCommitElementsCount | ( |  | ) | const

inline

return true if this packet has set the commit packet count.

Definition at line 169 of file trc_pkt_elem_etmv4i.h.

## initNextPacket()

void EtmV4ITrcPacket::initNextPacket | ( |  | ) |

clear any single packet only flags / state.

## initStartState()

void EtmV4ITrcPacket::initStartState | ( |  | ) |

Set to initial state - no intra packet state valid. Use on start of trace / discontinuities.

## operator=()

EtmV4ITrcPacket& EtmV4ITrcPacket::operator= | ( | const ocsd_etmv4_i_pkt * | p_pkt | ) |

## setProtocolVersion()

void EtmV4ITrcPacket::setProtocolVersion | ( | const uint8_t | version | ) |

inline

Definition at line 210 of file trc_pkt_elem_etmv4i.h.

## setType()

void EtmV4ITrcPacket::setType | ( | const ocsd_etmv4_i_pkt_type | pkt_type | ) |

inline

Definition at line 124 of file trc_pkt_elem_etmv4i.h.

## toString()

virtual void EtmV4ITrcPacket::toString | ( | std::string & | str | ) | const

virtual

Reimplemented from trcPrintableElem.

## toStringFmt()

virtual void EtmV4ITrcPacket::toStringFmt | ( | const uint32_t | fmtFlags,
|  | std::string & | str
| ) |  | const

virtual

Reimplemented from trcPrintableElem.

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

- /build/libopencsd-nipXOR/libopencsd-1.2.0/decoder/include/opencsd/etmv4/trc_pkt_elem_etmv4i.h