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);
384 ocsd_err_t createDecodeElement(
const uint8_t CSID);
385 void destroyDecodeElement(
const uint8_t CSID);
386 void destroyMemAccMapper();
400 uint8_t m_decode_elem_iter;
403 bool m_created_mapper;
405 std::vector<ItemPrinter *> m_printer_list;
409 static std::list<DecodeTree *> s_trace_dcd_trees;
415 static TrcIDecode s_instruction_decoder;
420 #endif // ARM_OCSD_DCD_TREE_H_INCLUDED enum _ocsd_datapath_op_t ocsd_datapath_op_t
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)
static void DestroyDecodeTree(DecodeTree *p_dcd_tree)
Destroy a decode tree.
const bool hasMemAccMapper() const
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)
ocsd_err_t setIDFilter(std::vector< uint8_t > &ids)
ID filtering - sets the output filter on the trace deformatter.
ocsd_err_t addRawFramePrinter(RawFramePrinter **ppPrinter, uint32_t flags)
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)
ocsd_err_t clearIDFilter()
remove filter, all IDs will be decoded
void setMemAccessI(ITargetMemAccess *i_mem_access)
Interface to target memory access.
DecodeTreeElement * getNextElement(uint8_t &elemID)
void setExternMemAccMapper(TrcMemAccMapper *pMapper)
Class to manage the decoding of data from a single trace sink .
ITrcGenElemIn * getGenTraceElemOutI() const
Return the connected generic element interface.
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
std::vector< ItemPrinter * > & getPrinterList()
DecodeTreeElement * getDecoderElement(const uint8_t CSID) const
void logMappedRanges()
Log the mapped memory ranges to the default message logger.
ocsd_err_t removeDecoder(const uint8_t CSID)
ocsd_err_t addPacketPrinter(uint8_t CSID, bool bMonitor, ItemPrinter **ppPrinter)
ocsd_err_t removeMemAccByAddress(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space)
enum _ocsd_dcd_tree_src_t ocsd_dcd_tree_src_t
static ocsdDefaultErrorLogger * getDefaultErrorLogger()
The library default error logger.
Interface class to an instruction opcode decoder.
enum _ocsd_err_t ocsd_err_t
OpenCSD: Open CoreSight Trace Decoder -Master include file for C++ library.
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...
Interface to either trace data frame deformatter or packet processor.
Interface for the input of generic trace elements.
ocsd_err_t addGenElemPrinter(TrcGenericElementPrinter **ppPrinter)
void setGenTraceElemOutI(ITrcGenElemIn *i_gen_trace_elem)
Decoded Trace output.
Base class for configuration data on CoreSight trace component.
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
Base Packet processing interface.
DecodeTreeElement * getFirstElement(uint8_t &elemID)
TrcMemAccMapper * getMemAccMapper() const
enum _memacc_mapper_t memacc_mapper_t
void setInstrDecoder(IInstrDecode *i_instr_decode)
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 addBinFileMemAcc(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const std::string &filepath)
Error logging interface.This class provides a standard interface to the decoder error logger for all ...
uint32_t ocsd_trc_index_t
DecodeTree()
default constructor
OpenCSD : Decode tree element.
static void setAlternateErrorLogger(ITraceErrorLog *p_error_logger)
ocsd_err_t createDecoder(const std::string &decoderName, const int createFlags, const CSConfig *pConfig)
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)
~DecodeTree()
default destructor
ocsd_err_t createMemAccMapper(memacc_mapper_t type=MEMACC_MAP_GLOBAL)
static ITraceErrorLog * getCurrentErrorLogI()
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)
TraceFormatterFrameDecoder * getFrameDeformatter() const
Get the Trace Frame de-mux.