OpenCSD - CoreSight Trace Decode Library
0.14.0
|
Go to the documentation of this file.
36 #ifndef ARM_TRC_PKT_PROC_PTM_H_INCLUDED
37 #define ARM_TRC_PKT_PROC_PTM_H_INCLUDED
62 const uint32_t dataBlockSize,
63 const uint8_t *pDataBlock,
64 uint32_t *numBytesProcessed);
90 const bool readByte(uint8_t &currByte);
103 const bool isSync()
const;
139 #define ASYNC_PAD_0_LIMIT 11
141 #define ASYNC_REQ_0 5
146 int extractTS(uint64_t &tsVal, uint8_t &tsUpdateBits);
213 #endif // ARM_TRC_PKT_PROC_PTM_H_INCLUDED
@ PTM_PKT_NOTSYNC
no sync found yet
void(TrcPktProcPtm::* PPKTFN)(void)
process_state m_process_state
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
enum TrcPktProcPtm::_process_state process_state
virtual ocsd_datapath_resp_t onReset()
Implementation function for the OCSD_OP_RESET operation.
@ ASYNC_INCOMPLETE
not enough input data.
virtual ocsd_err_t onProtocolConfig()
Called when the configuration object is passed to the decoder.
@ ASYNC
pattern confirmed async 0x00 x 5, 0x80
struct TrcPktProcPtm::_pkt_i_table_t m_i_table[256]
ocsd_ptm_pkt_type pkt_type
void throwMalformedPacketErr(const char *pszErrMsg)
std::vector< uint8_t > m_currPacketData
@ THROW_0
long pattern of 0x00 - throw some away.
virtual const bool isBadPacket() const
check if the current packet is an error / bad packet
@ OCSD_ERR_INVALID_PCKT_HDR
enum TrcPktProcPtm::_async_result async_result_t
@ ASYNC_EXTRA_0
pattern confirmed 0x00 x N + ASYNC
async_result_t findAsync()
int m_excepAltISA
Alt ISA bit iff exception bytes.
void SetErrType(const ocsd_ptm_pkt_type e_type)
ocsd_trc_index_t m_curr_pkt_index
PtmTrcPacket m_curr_packet
enum _ocsd_err_t ocsd_err_t
@ OCSD_ERR_BAD_PACKET_SEQ
void extractCycleCount(int idx, uint32_t &cycleCount)
virtual ocsd_datapath_resp_t processData(const ocsd_trc_index_t index, const uint32_t dataBlockSize, const uint8_t *pDataBlock, uint32_t *numBytesProcessed)
Implementation function for the OCSD_OP_DATA operation.
virtual ocsd_datapath_resp_t onEOT()
Implementation function for the OCSD_OP_EOT operation.
const ocsd_ptm_pkt_type getType() const
ocsd_isa m_addrPktIsa
ISA of the branch address packet.
const uint8_t * m_pDataIn
int m_tsByteMax
max size for TS portion of TS packet.
bool m_gotTSBytes
got all TS bytes
enum _ocsd_ptm_pkt_type ocsd_ptm_pkt_type
int m_numExcepBytes
got 1st exception byte
void InitProcessorState()
uint32_t ocsd_trc_index_t
const bool isSync() const
Interpreter class for PTM Hardware configuration.
ocsd_datapath_resp_t waitASync()
look for first synchronisation point in the packet stream
uint32_t m_dataInProcessed
bool m_bOPNotSyncPkt
true if output not sync packet when waiting for ASYNC
int m_numAddrBytes
number of address bytes
ocsd_trc_index_t m_block_idx
@ PTM_PKT_BAD_SEQUENCE
invalid sequence for packet type
void extractCtxtID(int idx, uint32_t &ctxtID)
bool m_gotAddrBytes
got all Addr bytes in branch packet
void throwPacketHeaderErr(const char *pszErrMsg)
ocsd_datapath_resp_t outputPacket()
OpenCSD : Trace packet processor base class.
@ NOT_ASYNC
pattern confirmed not async
uint32_t extractAddress(const int offset, uint8_t &total_bits)
Packet Processor base class. Provides common infrastructure and interconnections for packet processor...
bool m_gotExcepBytes
got all needed exception bytes
int extractTS(uint64_t &tsVal, uint8_t &tsUpdateBits)
virtual ocsd_datapath_resp_t onFlush()
Implementation function for the OCSD_OP_FLUSH operation.