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);
385 ocsd_err_t createDecodeElement(
const uint8_t CSID);
386 void destroyDecodeElement(
const uint8_t CSID);
387 void destroyMemAccMapper();
404 uint8_t m_decode_elem_iter;
407 bool m_created_mapper;
409 std::vector<ItemPrinter *> m_printer_list;
413 static std::list<DecodeTree *> s_trace_dcd_trees;
419 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 * getFirstElement(uint8_t &elemID)
ITrcGenElemIn * getGenTraceElemOutI() const
Return the connected generic element interface.
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)
DecodeTreeElement * getDecoderElement(const uint8_t CSID) const
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)
static ITraceErrorLog * getCurrentErrorLogI()
DecodeTree()
default constructor
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)
TraceFormatterFrameDecoder * getFrameDeformatter() const
Get the Trace Frame de-mux.
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)
DecodeTreeElement * getNextElement(uint8_t &elemID)
void logMappedRanges()
Log the mapped memory ranges to the default message logger.
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...
std::vector< ItemPrinter * > & getPrinterList()
void setExternMemAccMapper(TrcMemAccMapper *pMapper)
static ocsdDefaultErrorLogger * getDefaultErrorLogger()
The library default error logger.
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)
ocsd_err_t addRawFramePrinter(RawFramePrinter **ppPrinter, uint32_t flags)
ocsd_err_t addGenElemPrinter(TrcGenericElementPrinter **ppPrinter)
static void DestroyDecodeTree(DecodeTree *p_dcd_tree)
Destroy a decode tree.
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