35 #ifndef ARM_TRC_PKT_DECODE_ETMV3_H_INCLUDED 36 #define ARM_TRC_PKT_DECODE_ETMV3_H_INCLUDED 59 const ocsd_trc_index_t
pktIndex()
const;
82 uint32_t m_cycle_count;
83 ocsd_trc_index_t m_root_index;
90 m_isCCPacket = isCycleAcc;
103 return (m_atom.En_bits & 0x1) ? ATOM_E : ATOM_N;
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:
216 virtual ocsd_datapath_resp_t processPacket();
217 virtual ocsd_datapath_resp_t onEOT();
218 virtual ocsd_datapath_resp_t onReset();
219 virtual ocsd_datapath_resp_t onFlush();
220 virtual ocsd_err_t onProtocolConfig();
227 ocsd_datapath_resp_t decodePacket(
bool &pktDone);
229 ocsd_datapath_resp_t processISync(
const bool withCC,
const bool firstSync =
false);
230 ocsd_datapath_resp_t processBranchAddr();
231 ocsd_datapath_resp_t processPHdr();
233 ocsd_datapath_resp_t sendUnsyncPacket();
238 void setNeedAddr(
bool bNeedAddr);
239 void pendExceptionReturn();
245 ocsd_vaddr_t m_IAddr;
266 processor_state_t m_curr_state;
272 #endif // ARM_TRC_PKT_DECODE_ETMV3_H_INCLUDED
Maintain a list of elements to be output.
const uint8_t getPHdrFmt() const
const bool hasAtomCC() const
cycle count for current atom?
enum _ocsd_etmv3_pkt_type ocsd_etmv3_pkt_type
ETMv3 Trace Protocol Packet.
const int numAtoms() const
number of atoms
Etmv3Atoms(const bool isCycleAcc)
const uint32_t getCycleCount() const
void clearAtom()
clear the current atom, set the next.
OpenCSD : Trace Packet decoder base class.
Generic trace element class.
void initAtomPkt(const EtmV3TrcPacket *in_pkt, const ocsd_trc_index_t &root_index)
initialise the atom and index values
const ocsd_trc_index_t pktIndex() const
originating packet index
virtual const uint8_t getCoreSightTraceID()
const ocsd_pkt_atom & getAtom() const
const uint32_t getAtomCC() const
cycle count for current atom
const ocsd_atm_val getCurrAtomVal() const
Handler for the ocsd_pe_context structure.
The code follower looks for waypoints or addresses.
const uint32_t getRemainCC() const
get residual cycle count for remaining atoms
OpenCSD : Decoder Generic trace element output class.