OpenCSD - CoreSight Trace Decode Library
1.3.3
|
ETMv4 Instuction Trace Protocol Packet. More...
#include <trc_pkt_elem_etmv4i.h>
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, const uint8_t NSE=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) |
![]() | |
TrcPacketBase () | |
virtual | ~TrcPacketBase () |
![]() | |
trcPrintableElem () | |
virtual | ~trcPrintableElem () |
Additional Inherited Members | |
![]() | |
static void | getValStr (std::string &valStr, const int valTotalBitSize, const int valValidBits, const uint64_t value, const bool asHex=true, const int updateBits=0) |
![]() | |
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 |
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.
EtmV4ITrcPacket::EtmV4ITrcPacket | ( | ) |
EtmV4ITrcPacket::~EtmV4ITrcPacket | ( | ) |
|
inlinevirtual |
return the underlying C API packet structure
Implements TrcPacketBase.
Definition at line 118 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 191 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 190 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 188 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 189 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 181 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 201 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 197 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 200 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 185 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 166 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 182 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 175 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 194 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 165 of file trc_pkt_elem_etmv4i.h.
|
inline |
return true if this packet has set the commit packet count.
Definition at line 169 of file trc_pkt_elem_etmv4i.h.
void EtmV4ITrcPacket::initNextPacket | ( | ) |
clear any single packet only flags / state.
void EtmV4ITrcPacket::initStartState | ( | ) |
Set to initial state - no intra packet state valid. Use on start of trace / discontinuities.
EtmV4ITrcPacket& EtmV4ITrcPacket::operator= | ( | const ocsd_etmv4_i_pkt * | p_pkt | ) |
|
inline |
Definition at line 210 of file trc_pkt_elem_etmv4i.h.
|
inline |
Definition at line 124 of file trc_pkt_elem_etmv4i.h.
|
virtual |
Reimplemented from trcPrintableElem.
|
virtual |
Reimplemented from trcPrintableElem.