OpenCSD - CoreSight Trace Decode Library
0.14.3
|
Go to the documentation of this file.
35 #ifndef ARM_TRC_PKT_DECODE_ETMV3_H_INCLUDED
36 #define ARM_TRC_PKT_DECODE_ETMV3_H_INCLUDED
82 uint32_t m_cycle_count;
90 m_isCCPacket = isCycleAcc;
124 case ATOM_PHDR_FMT_4:
128 case ATOM_PHDR_FMT_3:
129 case ATOM_PHDR_FMT_1:
133 case ATOM_PHDR_FMT_2:
134 hasCC = (m_atom.
num > 1);
148 case ATOM_PHDR_FMT_4:
152 case ATOM_PHDR_FMT_3:
156 case ATOM_PHDR_FMT_2:
157 CC = (m_atom.
num > 1) ? 1: 0;
160 case ATOM_PHDR_FMT_1:
175 case ATOM_PHDR_FMT_4:
179 case ATOM_PHDR_FMT_3:
183 case ATOM_PHDR_FMT_2:
184 CC = (m_atom.
num > 1) ? 1: 0;
187 case ATOM_PHDR_FMT_1:
238 void setNeedAddr(
bool bNeedAddr);
239 void pendExceptionReturn();
266 processor_state_t m_curr_state;
273 #endif // ARM_TRC_PKT_DECODE_ETMV3_H_INCLUDED
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
Generic trace element class.
Handler for the ocsd_pe_context structure.
void resetDecoder()
reset state to start of decode. (moves state, retains config)
const ocsd_atm_val getCurrAtomVal() const
virtual ocsd_datapath_resp_t onFlush()
const uint32_t getAtomCC() const
cycle count for current atom
virtual ~TrcPktDecodeEtmV3()
Etmv3Atoms(const bool isCycleAcc)
OcsdTraceElement * GetNextOpElem(ocsd_datapath_resp_t &resp)
get the next element from the element list.
TrcPktDecodeEtmV3(int instIDNum)
enum _ocsd_etmv3_pkt_type ocsd_etmv3_pkt_type
The code follower looks for waypoints or addresses.
void initAtomPkt(const EtmV3TrcPacket *in_pkt, const ocsd_trc_index_t &root_index)
initialise the atom and index values
enum _ocsd_err_t ocsd_err_t
enum _ocsd_atm_val ocsd_atm_val
virtual ocsd_err_t onProtocolConfig()
enum _unsync_info_t unsync_info_t
OpenCSD : Decoder Generic trace element output class.
void initDecoder()
initial state on creation (zeros all config)
virtual ocsd_datapath_resp_t onReset()
const bool hasAtomCC() const
cycle count for current atom?
const uint32_t getCycleCount() const
const int numAtoms() const
number of atoms
void clearAtom()
clear the current atom, set the next.
ETMv3 Trace Protocol Packet.
uint32_t ocsd_trc_index_t
const ocsd_pkt_atom & getAtom() const
ocsd_datapath_resp_t decodePacket(bool &pktDone)
decode a packet
OpenCSD : Trace Packet decoder base class.
const ocsd_trc_index_t pktIndex() const
originating packet index
ocsd_datapath_resp_t processPHdr()
ocsd_datapath_resp_t sendUnsyncPacket()
send an initial unsync packet when decoder starts
const uint8_t getPHdrFmt() const
virtual ocsd_datapath_resp_t processPacket()
ocsd_datapath_resp_t processISync(const bool withCC, const bool firstSync=false)
const uint32_t getRemainCC() const
get residual cycle count for remaining atoms
virtual const uint8_t getCoreSightTraceID()
virtual ocsd_datapath_resp_t onEOT()
Maintain a list of elements to be output.
ocsd_datapath_resp_t processBranchAddr()