OpenCSD - CoreSight Trace Decode Library
0.14.1
|
Go to the documentation of this file.
35 #ifndef ARM_TRC_PKT_DECODE_ETMV4I_H_INCLUDED
36 #define ARM_TRC_PKT_DECODE_ETMV4I_H_INCLUDED
102 void SetInstrInfoInAddrISA(
const ocsd_vaddr_t addr_val,
const uint8_t isa);
103 const ocsd_isa calcISA(
const bool SF,
const uint8_t IS)
const
122 ocsd_err_t traceInstrToWP(instr_range_t &instr_range, WP_res_t &WPRes,
const bool traceToAddrNext =
false,
const ocsd_vaddr_t nextAddrMatch = 0);
124 inline const bool WPFound(WP_res_t res)
const {
return (res == WP_FOUND); };
125 inline const bool WPNacc(WP_res_t res)
const {
return (res == WP_NACC); };
136 uint64_t m_timestamp;
139 uint32_t m_context_id;
149 int m_curr_spec_depth;
150 int m_max_spec_depth;
151 int m_unseen_spec_elem;
154 #ifdef DATA_TRACE_SUPPORTED
162 int m_cond_key_max_incr;
180 processor_state_t m_curr_state;
195 const bool isElemForRes()
const {
196 return (m_elem_res.P0_commit || m_elem_res.P0_cancel ||
197 m_elem_res.mispredict || m_elem_res.discard);
200 void clearElemRes() {
201 m_elem_res.P0_commit = 0;
202 m_elem_res.P0_cancel = 0;
203 m_elem_res.mispredict =
false;
204 m_elem_res.discard =
false;
210 bool m_elem_pending_addr;
217 bool m_prev_overflow;
226 #endif // ARM_TRC_PKT_DECODE_ETMV4I_H_INCLUDED
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
ocsd_err_t addElemTS(TrcStackElemParam *pParamElem, bool withCC)
Generic trace element class.
ocsd_err_t commitElemOnEOT()
ocsd_err_t decodePacket()
virtual const uint8_t getCoreSightTraceID()
virtual ocsd_datapath_resp_t processPacket()
int P0_commit
number of elements to commit
OcsdTraceElement & getCurrElem()
get the current element.
virtual ocsd_datapath_resp_t onReset()
ocsd_err_t processTS_CC_EventElem(TrcStackElem *pElem)
ocsd_err_t processQElement()
ocsd_err_t discardElements()
ocsd_err_t cancelElements()
bool discard
discard elements
virtual ocsd_datapath_resp_t onFlush()
virtual void onFirstInitOK()
enum _ocsd_err_t ocsd_err_t
enum _ocsd_atm_val ocsd_atm_val
ocsd_err_t addElemCC(TrcStackElemParam *pParamElem)
void updateContext(TrcStackElemCtxt *pCtxtElem, OcsdTraceElement &elem)
ocsd_err_t mispredictAtom()
bool mispredict
mispredict latest atom
ocsd_err_t processAtom(const ocsd_atm_val atom)
enum _unsync_info_t unsync_info_t
OpenCSD : Decoder Generic trace element output class.
ocsd_err_t commitElements()
virtual ~TrcPktDecodeEtmV4I()
uint32_t ocsd_trc_index_t
OpenCSD : Trace Packet decoder base class.
ocsd_err_t addElemEvent(TrcStackElemParam *pParamElem)
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
virtual ocsd_err_t onProtocolConfig()
ocsd_datapath_resp_t resolveElements()
ocsd_err_t handleBadPacket(const char *reason)
int P0_cancel
elements to cancel
ocsd_err_t processException()
virtual ocsd_datapath_resp_t onEOT()