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;
ETMv3 Trace Protocol Packet.
const uint8_t getPHdrFmt() const
const uint32_t getCycleCount() const
const ocsd_pkt_atom & getAtom() const
void initAtomPkt(const EtmV3TrcPacket *in_pkt, const ocsd_trc_index_t &root_index)
initialise the atom and index values
const uint32_t getRemainCC() const
get residual cycle count for remaining atoms
void clearAtom()
clear the current atom, set the next.
Etmv3Atoms(const bool isCycleAcc)
const uint32_t getAtomCC() const
cycle count for current atom
const int numAtoms() const
number of atoms
const ocsd_atm_val getCurrAtomVal() const
const ocsd_trc_index_t pktIndex() const
originating packet index
const bool hasAtomCC() const
cycle count for current atom?
The code follower looks for waypoints or addresses.
Maintain a list of elements to be output.
Handler for the ocsd_pe_context structure.
Generic trace element class.
OcsdTraceElement * GetNextOpElem(ocsd_datapath_resp_t &resp)
get the next element from the element list.
virtual ocsd_err_t onProtocolConfig()
void resetDecoder()
reset state to start of decode. (moves state, retains config)
void initDecoder()
initial state on creation (zeros all config)
virtual ocsd_datapath_resp_t processPacket()
virtual ~TrcPktDecodeEtmV3()
ocsd_datapath_resp_t processPHdr()
ocsd_datapath_resp_t sendUnsyncPacket()
send an initial unsync packet when decoder starts
virtual ocsd_datapath_resp_t onReset()
virtual ocsd_datapath_resp_t onEOT()
ocsd_datapath_resp_t decodePacket(bool &pktDone)
decode a packet
virtual ocsd_datapath_resp_t onFlush()
ocsd_datapath_resp_t processBranchAddr()
TrcPktDecodeEtmV3(int instIDNum)
virtual const uint8_t getCoreSightTraceID()
ocsd_datapath_resp_t processISync(const bool withCC, const bool firstSync=false)
enum _unsync_info_t unsync_info_t
uint32_t ocsd_trc_index_t
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
enum _ocsd_err_t ocsd_err_t
enum _ocsd_etmv3_pkt_type ocsd_etmv3_pkt_type
enum _ocsd_atm_val ocsd_atm_val
OpenCSD : Decoder Generic trace element output class.
OpenCSD : Trace Packet decoder base class.