36 #ifndef ARM_OCSD_DCD_TREE_H_INCLUDED
37 #define ARM_OCSD_DCD_TREE_H_INCLUDED
123 const uint32_t dataBlockSize,
124 const uint8_t *pDataBlock,
125 uint32_t *numBytesProcessed);
409 ocsd_err_t createDecodeElement(
const uint8_t CSID);
410 void destroyDecodeElement(
const uint8_t CSID);
411 void destroyMemAccMapper();
428 uint8_t m_decode_elem_iter;
431 bool m_created_mapper;
433 std::vector<ItemPrinter *> m_printer_list;
437 static std::list<DecodeTree *> s_trace_dcd_trees;
443 static TrcIDecode s_instruction_decoder;
Base class for configuration data on CoreSight trace component.
Class to manage the decoding of data from a single trace sink .
ocsd_err_t addCallbackIDMemAcc(const ocsd_vaddr_t st_address, const ocsd_vaddr_t en_address, const ocsd_mem_space_acc_t mem_space, Fn_MemAccID_CB p_cb_func, const void *p_context)
DecodeTreeElement * getNextElement(uint8_t &elemID)
ocsd_err_t addCallbackMemAcc(const ocsd_vaddr_t st_address, const ocsd_vaddr_t en_address, const ocsd_mem_space_acc_t mem_space, Fn_MemAcc_CB p_cb_func, const void *p_context)
ocsd_err_t removeDecoder(const uint8_t CSID)
const bool hasMemAccMapper() const
virtual ocsd_datapath_resp_t TraceDataIn(const ocsd_datapath_op_t op, const ocsd_trc_index_t index, const uint32_t dataBlockSize, const uint8_t *pDataBlock, uint32_t *numBytesProcessed)
Trace Data input interface (ITrcDataIn)
TraceFormatterFrameDecoder * getFrameDeformatter() const
Get the Trace Frame de-mux.
ocsd_err_t setIDFilter(std::vector< uint8_t > &ids)
ID filtering - sets the output filter on the trace deformatter.
ocsd_err_t addBinFileMemAcc(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const std::string &filepath)
DecodeTreeElement * getFirstElement(uint8_t &elemID)
DecodeTree()
default constructor
static ocsdDefaultErrorLogger * getDefaultErrorLogger()
The library default error logger.
ocsd_err_t addBufferMemAcc(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint8_t *p_mem_buffer, const uint32_t mem_length)
ocsd_err_t addBinFileRegionMemAcc(const ocsd_file_mem_region_t *region_array, const int num_regions, const ocsd_mem_space_acc_t mem_space, const std::string &filepath)
ocsd_err_t createDecoder(const std::string &decoderName, const int createFlags, const CSConfig *pConfig)
static void setAlternateErrorLogger(ITraceErrorLog *p_error_logger)
ocsd_err_t removeMemAccByAddress(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space)
void setInstrDecoder(IInstrDecode *i_instr_decode)
void logMappedRanges()
Log the mapped memory ranges to the default message logger.
ocsd_err_t getDecoderStats(const uint8_t CSID, ocsd_decode_stats_t **p_stats_block)
void setExternMemAccMapper(TrcMemAccMapper *pMapper)
DecodeTreeElement * getDecoderElement(const uint8_t CSID) const
ocsd_err_t resetDecoderStats(const uint8_t CSID)
void setMemAccessI(ITargetMemAccess *i_mem_access)
void setGenTraceElemOutI(ITrcGenElemIn *i_gen_trace_elem)
Decoded Trace output.
ocsd_err_t updateBinFileRegionMemAcc(const ocsd_file_mem_region_t *region_array, const int num_regions, const ocsd_mem_space_acc_t mem_space, const std::string &filepath)
ocsd_err_t createMemAccMapper(memacc_mapper_t type=MEMACC_MAP_GLOBAL)
ocsd_err_t clearIDFilter()
remove filter, all IDs will be decoded
ocsd_err_t addPacketPrinter(uint8_t CSID, bool bMonitor, ItemPrinter **ppPrinter)
static ITraceErrorLog * getCurrentErrorLogI()
ocsd_err_t addRawFramePrinter(RawFramePrinter **ppPrinter, uint32_t flags)
ocsd_err_t addGenElemPrinter(TrcGenericElementPrinter **ppPrinter)
std::vector< ItemPrinter * > & getPrinterList()
static void DestroyDecodeTree(DecodeTree *p_dcd_tree)
Destroy a decode tree.
ITrcGenElemIn * getGenTraceElemOutI() const
Return the connected generic element interface.
static DecodeTree * CreateDecodeTree(const ocsd_dcd_tree_src_t src_type, const uint32_t formatterCfgFlags)
Create a decode tree. Automatically creates a trace frame deformatter if required and a default error...
TrcMemAccMapper * getMemAccMapper() const
~DecodeTree()
default destructor
Interface class to an instruction opcode decoder.
Interface to target memory access.
Interface to either trace data frame deformatter or packet processor.
Interface for the input of generic trace elements.
Base Packet processing interface.
enum _ocsd_dcd_tree_src_t ocsd_dcd_tree_src_t
uint32_t ocsd_trc_index_t
uint32_t(* Fn_MemAccID_CB)(const void *p_context, const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint8_t trcID, const uint32_t reqBytes, uint8_t *byteBuffer)
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
uint32_t(* Fn_MemAcc_CB)(const void *p_context, const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint32_t reqBytes, uint8_t *byteBuffer)
enum _ocsd_datapath_op_t ocsd_datapath_op_t
enum _ocsd_err_t ocsd_err_t
@ OCSD_TRC_SRC_FRAME_FORMATTED
OpenCSD : Decode tree element.
OpenCSD: Open CoreSight Trace Decoder -Master include file for C++ library.
enum _memacc_mapper_t memacc_mapper_t