OpenCSD - CoreSight Trace Decode Library  1.3.3
Classes
OpenCSD Library : Interfaces

Set of types, structures and virtual interface classes making up the primary API. More...

Classes

struct  _ocsd_arch_profile_t
 
struct  _ocsd_instr_info
 
struct  _ocsd_pe_context
 
struct  _ocsd_file_mem_region
 
struct  _ocsd_swt_info
 
struct  _ocsd_demux_stats
 
struct  _ocsd_decode_stats
 
class  ITrcDataIn
 Interface to either trace data frame deformatter or packet processor. More...
 
class  ITrcRawFrameIn
 Interface to monitor the raw frame decode progress.. More...
 
class  ITraceErrorLog
 Error logging interface. More...
 
class  ITrcGenElemIn
 Interface for the input of generic trace elements. More...
 
class  ITrcPktIndexer< Pt >
 Templated interface class to index packet types. More...
 
class  ITrcSrcIndexCreator
 Interface class to index the frame formatted trace stream. More...
 
class  IInstrDecode
 Interface class to an instruction opcode decoder. More...
 
class  IPktDataIn< P >
 Interface class providing an input for discrete protocol packets. More...
 
class  ITargetMemAccess
 Interface to target memory access. More...
 

General Library Return and Error Codes

enum  _ocsd_err_t {
  OCSD_OK = 0 , OCSD_ERR_FAIL , OCSD_ERR_MEM , OCSD_ERR_NOT_INIT ,
  OCSD_ERR_INVALID_ID , OCSD_ERR_BAD_HANDLE , OCSD_ERR_INVALID_PARAM_VAL , OCSD_ERR_INVALID_PARAM_TYPE ,
  OCSD_ERR_FILE_ERROR , OCSD_ERR_NO_PROTOCOL , OCSD_ERR_ATTACH_TOO_MANY , OCSD_ERR_ATTACH_INVALID_PARAM ,
  OCSD_ERR_ATTACH_COMP_NOT_FOUND , OCSD_ERR_RDR_FILE_NOT_FOUND , OCSD_ERR_RDR_INVALID_INIT , OCSD_ERR_RDR_NO_DECODER ,
  OCSD_ERR_DATA_DECODE_FATAL , OCSD_ERR_DFMTR_NOTCONTTRACE , OCSD_ERR_DFMTR_BAD_FHSYNC , OCSD_ERR_BAD_PACKET_SEQ ,
  OCSD_ERR_INVALID_PCKT_HDR , OCSD_ERR_PKT_INTERP_FAIL , OCSD_ERR_UNSUPPORTED_ISA , OCSD_ERR_HW_CFG_UNSUPP ,
  OCSD_ERR_UNSUPP_DECODE_PKT , OCSD_ERR_BAD_DECODE_PKT , OCSD_ERR_COMMIT_PKT_OVERRUN , OCSD_ERR_MEM_NACC ,
  OCSD_ERR_RET_STACK_OVERFLOW , OCSD_ERR_DCDT_NO_FORMATTER , OCSD_ERR_MEM_ACC_OVERLAP , OCSD_ERR_MEM_ACC_FILE_NOT_FOUND ,
  OCSD_ERR_MEM_ACC_FILE_DIFF_RANGE , OCSD_ERR_MEM_ACC_RANGE_INVALID , OCSD_ERR_MEM_ACC_BAD_LEN , OCSD_ERR_TEST_SNAPSHOT_PARSE ,
  OCSD_ERR_TEST_SNAPSHOT_PARSE_INFO , OCSD_ERR_TEST_SNAPSHOT_READ , OCSD_ERR_TEST_SS_TO_DECODER , OCSD_ERR_DCDREG_NAME_REPEAT ,
  OCSD_ERR_DCDREG_NAME_UNKNOWN , OCSD_ERR_DCDREG_TYPE_UNKNOWN , OCSD_ERR_DCDREG_TOOMANY , OCSD_ERR_DCD_INTERFACE_UNUSED ,
  OCSD_ERR_LAST
}
 
enum  _ocsd_err_severity_t { OCSD_ERR_SEV_NONE , OCSD_ERR_SEV_ERROR , OCSD_ERR_SEV_WARN , OCSD_ERR_SEV_INFO }
 
typedef enum _ocsd_err_t ocsd_err_t
 
typedef unsigned int ocsd_hndl_rdr_t
 
typedef unsigned int ocsd_hndl_err_log_t
 
typedef enum _ocsd_err_severity_t ocsd_err_severity_t
 
#define OCSD_INVALID_HANDLE   (unsigned int)-1
 

Trace Datapath

enum  _ocsd_datapath_op_t { OCSD_OP_DATA = 0 , OCSD_OP_EOT , OCSD_OP_FLUSH , OCSD_OP_RESET }
 
enum  _ocsd_datapath_resp_t {
  OCSD_RESP_CONT , OCSD_RESP_WARN_CONT , OCSD_RESP_ERR_CONT , OCSD_RESP_WAIT ,
  OCSD_RESP_WARN_WAIT , OCSD_RESP_ERR_WAIT , OCSD_RESP_FATAL_NOT_INIT , OCSD_RESP_FATAL_INVALID_OP ,
  OCSD_RESP_FATAL_INVALID_PARAM , OCSD_RESP_FATAL_INVALID_DATA , OCSD_RESP_FATAL_SYS_ERR
}
 
typedef enum _ocsd_datapath_op_t ocsd_datapath_op_t
 
typedef enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
 
#define OCSD_DATA_RESP_IS_FATAL(x)   (x >= OCSD_RESP_FATAL_NOT_INIT)
 
#define OCSD_DATA_RESP_IS_WARN(x)   ((x == OCSD_RESP_WARN_CONT) || (x == OCSD_RESP_WARN_WAIT))
 
#define OCSD_DATA_RESP_IS_ERR(x)   ((x == OCSD_RESP_ERR_CONT) || (x == OCSD_RESP_ERR_WAIT))
 
#define OCSD_DATA_RESP_IS_WARN_OR_ERR(x)   (OCSD_DATA_RESP_IS_ERR(x) || OCSD_DATA_RESP_IS_WARN(x))
 
#define OCSD_DATA_RESP_IS_CONT(x)   (x < OCSD_RESP_WAIT)
 
#define OCSD_DATA_RESP_IS_WAIT(x)   ((x >= OCSD_RESP_WAIT) && (x < OCSD_RESP_FATAL_NOT_INIT))
 

Trace Decode component types

enum  _rcdtl_rawframe_elem_t {
  OCSD_FRM_NONE , OCSD_FRM_PACKED , OCSD_FRM_HSYNC , OCSD_FRM_FSYNC ,
  OCSD_FRM_ID_DATA
}
 
enum  _ocsd_dcd_tree_src_t { OCSD_TRC_SRC_FRAME_FORMATTED , OCSD_TRC_SRC_SINGLE }
 
typedef enum _rcdtl_rawframe_elem_t ocsd_rawframe_elem_t
 
typedef enum _ocsd_dcd_tree_src_t ocsd_dcd_tree_src_t
 
#define OCSD_DFRMTR_HAS_FSYNCS   0x01
 
#define OCSD_DFRMTR_HAS_HSYNCS   0x02
 
#define OCSD_DFRMTR_FRAME_MEM_ALIGN   0x04
 
#define OCSD_DFRMTR_PACKED_RAW_OUT   0x08
 
#define OCSD_DFRMTR_UNPACKED_RAW_OUT   0x10
 
#define OCSD_DFRMTR_RESET_ON_4X_FSYNC   0x20
 
#define OCSD_DFRMTR_VALID_MASK   0x3F
 
#define OCSD_DFRMTR_FRAME_SIZE   0x10
 

Trace Decode Arch and Profile

enum  _ocsd_arch_version {
  ARCH_UNKNOWN = 0x0000 , ARCH_CUSTOM = 0x0001 , ARCH_V7 = 0x0700 , ARCH_V8 = 0x0800 ,
  ARCH_V8r3 = 0x0803 , ARCH_AA64 = 0x0864 , ARCH_V8_max = ARCH_AA64
}
 
enum  _ocsd_core_profile {
  profile_Unknown , profile_CortexM , profile_CortexR , profile_CortexA ,
  profile_Custom
}
 
typedef enum _ocsd_arch_version ocsd_arch_version_t
 
typedef enum _ocsd_core_profile ocsd_core_profile_t
 
typedef struct _ocsd_arch_profile_t ocsd_arch_profile_t
 
typedef uint64_t ocsd_vaddr_t
 
#define OCSD_IS_V8_ARCH(arch)   ((arch >= ARCH_V8) && (arch <= ARCH_V8_max))
 
#define OCSD_IS_ARCH_MINVER(arch, min_arch)   (arch >= min_arch)
 
#define OCSD_MAX_VA_BITSIZE   64
 
#define OCSD_VA_MASK   ~0ULL
 
#define OCSD_BIT_MASK(bits)   (bits == OCSD_MAX_VA_BITSIZE) ? OCSD_VA_MASK : ((ocsd_vaddr_t)1 << bits) - 1
 

Instruction Decode Information

enum  _ocsd_isa {
  ocsd_isa_arm , ocsd_isa_thumb2 , ocsd_isa_aarch64 , ocsd_isa_tee ,
  ocsd_isa_jazelle , ocsd_isa_custom , ocsd_isa_unknown
}
 
enum  _ocsd_sec_level { ocsd_sec_secure , ocsd_sec_nonsecure , ocsd_sec_root , ocsd_sec_realm }
 
enum  _ocsd_ex_level {
  ocsd_EL_unknown = -1 , ocsd_EL0 = 0 , ocsd_EL1 , ocsd_EL2 ,
  ocsd_EL3
}
 
enum  _ocsd_instr_type {
  OCSD_INSTR_OTHER , OCSD_INSTR_BR , OCSD_INSTR_BR_INDIRECT , OCSD_INSTR_ISB ,
  OCSD_INSTR_DSB_DMB , OCSD_INSTR_WFI_WFE , OCSD_INSTR_TSTART
}
 
enum  _ocsd_instr_subtype {
  OCSD_S_INSTR_NONE , OCSD_S_INSTR_BR_LINK , OCSD_S_INSTR_V8_RET , OCSD_S_INSTR_V8_ERET ,
  OCSD_S_INSTR_V7_IMPLIED_RET
}
 
typedef enum _ocsd_isa ocsd_isa
 
typedef enum _ocsd_sec_level ocsd_sec_level
 
typedef enum _ocsd_ex_level ocsd_ex_level
 
typedef enum _ocsd_instr_type ocsd_instr_type
 
typedef enum _ocsd_instr_subtype ocsd_instr_subtype
 
typedef struct _ocsd_instr_info ocsd_instr_info
 
typedef struct _ocsd_pe_context ocsd_pe_context
 

Opcode Memory Access

Types used when accessing memory storage for traced opcodes..

enum  _ocsd_mem_space_acc_t {
  OCSD_MEM_SPACE_EL1S = 0x1 , OCSD_MEM_SPACE_EL1N = 0x2 , OCSD_MEM_SPACE_EL2 = 0x4 , OCSD_MEM_SPACE_EL3 = 0x8 ,
  OCSD_MEM_SPACE_EL2S = 0x10 , OCSD_MEM_SPACE_S = 0x19 , OCSD_MEM_SPACE_N = 0x6 , OCSD_MEM_SPACE_ANY = 0x1F
}
 
typedef enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
 
typedef 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)
 
typedef 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)
 
typedef struct _ocsd_file_mem_region ocsd_file_mem_region_t
 

Decoder creation information

Flags to use when creating decoders by name.

  • share bitfield with pkt processor flags and packet decoder common flags.

Builtin decoder names.

Protocol type enum.

enum  _ocsd_trace_protocol_t {
  OCSD_PROTOCOL_UNKNOWN = 0 , OCSD_PROTOCOL_ETMV3 , OCSD_PROTOCOL_ETMV4I , OCSD_PROTOCOL_ETMV4D ,
  OCSD_PROTOCOL_PTM , OCSD_PROTOCOL_STM , OCSD_PROTOCOL_ETE , OCSD_PROTOCOL_BUILTIN_END ,
  OCSD_PROTOCOL_CUSTOM_0 = 100 , OCSD_PROTOCOL_CUSTOM_1 , OCSD_PROTOCOL_CUSTOM_2 , OCSD_PROTOCOL_CUSTOM_3 ,
  OCSD_PROTOCOL_CUSTOM_4 , OCSD_PROTOCOL_CUSTOM_5 , OCSD_PROTOCOL_CUSTOM_6 , OCSD_PROTOCOL_CUSTOM_7 ,
  OCSD_PROTOCOL_CUSTOM_8 , OCSD_PROTOCOL_CUSTOM_9 , OCSD_PROTOCOL_END
}
 
typedef enum _ocsd_trace_protocol_t ocsd_trace_protocol_t
 
#define OCSD_CREATE_FLG_PACKET_PROC   0x01
 
#define OCSD_CREATE_FLG_FULL_DECODER   0x02
 
#define OCSD_CREATE_FLG_INST_ID   0x04
 
#define OCSD_BUILTIN_DCD_STM   "STM"
 
#define OCSD_BUILTIN_DCD_ETMV3   "ETMV3"
 
#define OCSD_BUILTIN_DCD_ETMV4I   "ETMV4I"
 
#define OCSD_BUILTIN_DCD_ETMV4D   "ETMV4D"
 
#define OCSD_BUILTIN_DCD_PTM   "PTM"
 
#define OCSD_BUILTIN_DCD_ETE   "ETE"
 
#define OCSD_PROTOCOL_IS_BUILTIN(P)   ((P > OCSD_PROTOCOL_UNKNOWN) && (P < OCSD_PROTOCOL_BUILTIN_END))
 
#define OCSD_PROTOCOL_IS_CUSTOM(P)   ((P >= OCSD_PROTOCOL_CUSTOM_0) && (P < OCSD_PROTOCOL_END ))
 

Trace Indexing and Channel IDs

typedef uint32_t ocsd_trc_index_t
 
#define OCSD_TRC_IDX_STR   PRIu32
 
#define OCSD_BAD_TRC_INDEX   ((ocsd_trc_index_t)-1)
 
#define OCSD_BAD_CS_SRC_ID   ((uint8_t)-1)
 
#define OCSD_IS_VALID_CS_SRC_ID(id)   ((id > 0) && (id < 0x70))
 
#define OCSD_IS_RESERVED_CS_SRC_ID(id)   ((id == 0) || ((id >= 0x70) && (id <= 0x7F))
 

Software Trace Packets Info

Contains the information for the generic software trace output packet.

Software trace packet master and channel data. Payload info:
size - packet payload size in bits; marker - if this packet has a marker/flag timestamp - if this packet has a timestamp associated number of packets - packet processor can optionally correlate identically sized packets on the same master / channel to be output as a single generic packet

Payload output as separate LE buffer, of sufficient bytes to hold all the packets.

typedef struct _ocsd_swt_info ocsd_swt_info_t
 
#define SWT_ID_VALID_MASK   (0x1 << 23)
 

Demux Statistics

Contains statistics for the CoreSight frame demultiplexor.

Counts total bytes sent to decoders registered against a trace ID, bytes in the input stream that are associated with a trace ID that has no registered decoder, and frame bytes that are not trace data, but are used to decode the frames - ID bytes, sync bytes etc.

typedef struct _ocsd_demux_stats ocsd_demux_stats_t
 

Decode statistics

Contains statistics for bytes decoded by the packet decoder, if statistics are supported.

Stats block instantiated in the base class - derived protocol specific decoder must initialise and use as required.

The single channel block contains the stats for the requested channel via the API call.

The global demux block contains the totals for all channels and non-data bytes used in CoreSight frame demux. This block will show identical data for every requested channel via the API.

typedef struct _ocsd_decode_stats ocsd_decode_stats_t
 
#define OCSD_STATS_REVISION   0x1
 

Trace Decode Component Name Prefixes

Set of standard prefixes to be used for component names

#define OCSD_CMPNAME_PREFIX_SOURCE_READER   "SRDR"
 
#define OCSD_CMPNAME_PREFIX_FRAMEDEFORMATTER   "DFMT"
 
#define OCSD_CMPNAME_PREFIX_PKTPROC   "PKTP"
 
#define OCSD_CMPNAME_PREFIX_PKTDEC   "PDEC"
 

Packet Processor Operation Control Flags

common operational flags - bottom 16 bits, protocol component specific - top 16 bits. (common flags share bitfield with pkt decoder common flags and create flags)

#define OCSD_OPFLG_PKTPROC_NOFWD_BAD_PKTS   0x00000010
 
#define OCSD_OPFLG_PKTPROC_NOMON_BAD_PKTS   0x00000020
 
#define OCSD_OPFLG_PKTPROC_ERR_BAD_PKTS   0x00000040
 
#define OCSD_OPFLG_PKTPROC_UNSYNC_ON_BAD_PKTS   0x00000080
 
#define OCSD_OPFLG_PKTPROC_COMMON
 
#define OCSD_OPFLG_COMP_MODE_MASK   0xFFFF0000
 

Packet Decoder Operation Control Flags

common operational flags - bottom 16 bits, protcol component specific - top 16 bits. (common flags share bitfield with pkt processor common flags and create flags)

#define OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS   0x00000100
 
#define OCSD_OPFLG_PKTDEC_HALT_BAD_PKTS   0x00000200
 
#define OCSD_OPFLG_PKTDEC_COMMON   (OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS | OCSD_OPFLG_PKTDEC_HALT_BAD_PKTS)
 

Library Versioning

#define OCSD_VER_MAJOR   0x1
 
#define OCSD_VER_MINOR   0x3
 
#define OCSD_VER_PATCH   0x3
 
#define OCSD_VER_NUM   ((OCSD_VER_MAJOR << 16) | (OCSD_VER_MINOR << 8) | OCSD_VER_PATCH)
 
#define OCSD_VER_STRING   "1.3.3"
 
#define OCSD_LIB_NAME   "OpenCSD Library"
 
#define OCSD_LIB_SHORT_NAME   "OCSD"
 

Detailed Description

Set of types, structures and virtual interface classes making up the primary API.

Set of component interfaces that connect various source reader and decode components into a decode tree to allow trace decode for the trace data being output by the source reader.

This interface provides a monitor point for the packet processor block. The templated interface is called with a complete packet of the given type, plus the raw packet bytes. Use for tools which need to display complete packets or require additional processing on raw packet data.

This interface is not part of the data decode path and cannot provide feedback.

Macro Definition Documentation

◆ OCSD_BAD_CS_SRC_ID

#define OCSD_BAD_CS_SRC_ID   ((uint8_t)-1)

Invalid trace source ID value

Definition at line 74 of file ocsd_if_types.h.

◆ OCSD_BAD_TRC_INDEX

#define OCSD_BAD_TRC_INDEX   ((ocsd_trc_index_t)-1)

Invalid trace index value

Definition at line 72 of file ocsd_if_types.h.

◆ OCSD_BIT_MASK

#define OCSD_BIT_MASK (   bits)    (bits == OCSD_MAX_VA_BITSIZE) ? OCSD_VA_MASK : ((ocsd_vaddr_t)1 << bits) - 1

A bit mask for the first 'bits' consecutive bits of an address

Definition at line 316 of file ocsd_if_types.h.

◆ OCSD_BUILTIN_DCD_ETE

#define OCSD_BUILTIN_DCD_ETE   "ETE"

ETE decoder

Definition at line 556 of file ocsd_if_types.h.

◆ OCSD_BUILTIN_DCD_ETMV3

#define OCSD_BUILTIN_DCD_ETMV3   "ETMV3"

ETMv3 decoder

Definition at line 552 of file ocsd_if_types.h.

◆ OCSD_BUILTIN_DCD_ETMV4D

#define OCSD_BUILTIN_DCD_ETMV4D   "ETMV4D"

ETMv4 data decoder

Definition at line 554 of file ocsd_if_types.h.

◆ OCSD_BUILTIN_DCD_ETMV4I

#define OCSD_BUILTIN_DCD_ETMV4I   "ETMV4I"

ETMv4 instruction decoder

Definition at line 553 of file ocsd_if_types.h.

◆ OCSD_BUILTIN_DCD_PTM

#define OCSD_BUILTIN_DCD_PTM   "PTM"

PTM decoder

Definition at line 555 of file ocsd_if_types.h.

◆ OCSD_BUILTIN_DCD_STM

#define OCSD_BUILTIN_DCD_STM   "STM"

STM decoder

Definition at line 551 of file ocsd_if_types.h.

◆ OCSD_CMPNAME_PREFIX_FRAMEDEFORMATTER

#define OCSD_CMPNAME_PREFIX_FRAMEDEFORMATTER   "DFMT"

Component name prefix for trace frame deformatter component

Definition at line 263 of file ocsd_if_types.h.

◆ OCSD_CMPNAME_PREFIX_PKTDEC

#define OCSD_CMPNAME_PREFIX_PKTDEC   "PDEC"

Component name prefix for trace packet decoder.

Definition at line 267 of file ocsd_if_types.h.

◆ OCSD_CMPNAME_PREFIX_PKTPROC

#define OCSD_CMPNAME_PREFIX_PKTPROC   "PKTP"

Component name prefix for trace packet processor.

Definition at line 265 of file ocsd_if_types.h.

◆ OCSD_CMPNAME_PREFIX_SOURCE_READER

#define OCSD_CMPNAME_PREFIX_SOURCE_READER   "SRDR"

Component name prefix for trace source reader components

Definition at line 261 of file ocsd_if_types.h.

◆ OCSD_CREATE_FLG_FULL_DECODER

#define OCSD_CREATE_FLG_FULL_DECODER   0x02

Create packet processor + decoder pair

Definition at line 548 of file ocsd_if_types.h.

◆ OCSD_CREATE_FLG_INST_ID

#define OCSD_CREATE_FLG_INST_ID   0x04

Use instance ID in decoder instance name

Definition at line 549 of file ocsd_if_types.h.

◆ OCSD_CREATE_FLG_PACKET_PROC

#define OCSD_CREATE_FLG_PACKET_PROC   0x01

Create packet processor only.

Definition at line 547 of file ocsd_if_types.h.

◆ OCSD_DATA_RESP_IS_CONT

#define OCSD_DATA_RESP_IS_CONT (   x)    (x < OCSD_RESP_WAIT)

Macro returning true if datapath response value is CONT.

Definition at line 213 of file ocsd_if_types.h.

◆ OCSD_DATA_RESP_IS_ERR

#define OCSD_DATA_RESP_IS_ERR (   x)    ((x == OCSD_RESP_ERR_CONT) || (x == OCSD_RESP_ERR_WAIT))

Macro returning true if datapath response value indicates ERROR logged.

Definition at line 209 of file ocsd_if_types.h.

◆ OCSD_DATA_RESP_IS_FATAL

#define OCSD_DATA_RESP_IS_FATAL (   x)    (x >= OCSD_RESP_FATAL_NOT_INIT)

Macro returning true if datapath response value is FATAL.

Definition at line 205 of file ocsd_if_types.h.

◆ OCSD_DATA_RESP_IS_WAIT

#define OCSD_DATA_RESP_IS_WAIT (   x)    ((x >= OCSD_RESP_WAIT) && (x < OCSD_RESP_FATAL_NOT_INIT))

Macro returning true if datapath response value is WAIT.

Definition at line 215 of file ocsd_if_types.h.

◆ OCSD_DATA_RESP_IS_WARN

#define OCSD_DATA_RESP_IS_WARN (   x)    ((x == OCSD_RESP_WARN_CONT) || (x == OCSD_RESP_WARN_WAIT))

Macro returning true if datapath response value indicates WARNING logged.

Definition at line 207 of file ocsd_if_types.h.

◆ OCSD_DATA_RESP_IS_WARN_OR_ERR

#define OCSD_DATA_RESP_IS_WARN_OR_ERR (   x)    (OCSD_DATA_RESP_IS_ERR(x) || OCSD_DATA_RESP_IS_WARN(x))

Macro returning true if datapath response value indicates WARNING or ERROR logged.

Definition at line 211 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_FRAME_MEM_ALIGN

#define OCSD_DFRMTR_FRAME_MEM_ALIGN   0x04

Deformatter Config : formatted frames are memory aligned, no syncs. Input data 16 byte frame aligned.

Definition at line 245 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_FRAME_SIZE

#define OCSD_DFRMTR_FRAME_SIZE   0x10

CoreSight frame formatter frame size constant in bytes.

Definition at line 251 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_HAS_FSYNCS

#define OCSD_DFRMTR_HAS_FSYNCS   0x01

Deformatter Config : formatted data has fsyncs - input data 4 byte aligned

Definition at line 243 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_HAS_HSYNCS

#define OCSD_DFRMTR_HAS_HSYNCS   0x02

Deformatter Config : formatted data has hsyncs - input data 2 byte aligned

Definition at line 244 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_PACKED_RAW_OUT

#define OCSD_DFRMTR_PACKED_RAW_OUT   0x08

Deformatter Config : output raw packed frame data if raw monitor attached.

Definition at line 246 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_RESET_ON_4X_FSYNC

#define OCSD_DFRMTR_RESET_ON_4X_FSYNC   0x20

Deformatter Config : reset downstream decoders if frame aligned 4x consecutive fsyncs spotted. (perf workaround)

Definition at line 248 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_UNPACKED_RAW_OUT

#define OCSD_DFRMTR_UNPACKED_RAW_OUT   0x10

Deformatter Config : output raw unpacked frame data if raw monitor attached.

Definition at line 247 of file ocsd_if_types.h.

◆ OCSD_DFRMTR_VALID_MASK

#define OCSD_DFRMTR_VALID_MASK   0x3F

Deformatter Config : valid mask for deformatter configuration

Definition at line 249 of file ocsd_if_types.h.

◆ OCSD_INVALID_HANDLE

#define OCSD_INVALID_HANDLE   (unsigned int)-1

Global invalid handle value

Definition at line 152 of file ocsd_if_types.h.

◆ OCSD_IS_ARCH_MINVER

#define OCSD_IS_ARCH_MINVER (   arch,
  min_arch 
)    (arch >= min_arch)

Definition at line 287 of file ocsd_if_types.h.

◆ OCSD_IS_RESERVED_CS_SRC_ID

#define OCSD_IS_RESERVED_CS_SRC_ID (   id)    ((id == 0) || ((id >= 0x70) && (id <= 0x7F))

macro returing true if trace source ID is in reserved range (ID == 0x0 || 0x70 <= ID <= 0x7F)

Definition at line 78 of file ocsd_if_types.h.

◆ OCSD_IS_V8_ARCH

#define OCSD_IS_V8_ARCH (   arch)    ((arch >= ARCH_V8) && (arch <= ARCH_V8_max))

Definition at line 286 of file ocsd_if_types.h.

◆ OCSD_IS_VALID_CS_SRC_ID

#define OCSD_IS_VALID_CS_SRC_ID (   id)    ((id > 0) && (id < 0x70))

macro returing true if trace source ID is in valid range (0x0 < ID < 0x70)

Definition at line 76 of file ocsd_if_types.h.

◆ OCSD_LIB_NAME

#define OCSD_LIB_NAME   "OpenCSD Library"

Library name string

Definition at line 57 of file ocsd_if_version.h.

◆ OCSD_LIB_SHORT_NAME

#define OCSD_LIB_SHORT_NAME   "OCSD"

Library Short name string

Definition at line 58 of file ocsd_if_version.h.

◆ OCSD_MAX_VA_BITSIZE

#define OCSD_MAX_VA_BITSIZE   64

64 bit Virtual address bitsize macro

Definition at line 311 of file ocsd_if_types.h.

◆ OCSD_OPFLG_COMP_MODE_MASK

#define OCSD_OPFLG_COMP_MODE_MASK   0xFFFF0000

mask for the component spcific flags

Definition at line 519 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTDEC_COMMON

#define OCSD_OPFLG_PKTDEC_COMMON   (OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS | OCSD_OPFLG_PKTDEC_HALT_BAD_PKTS)

mask to combine all common packet processor operational control flags

Definition at line 533 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS

#define OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS   0x00000100

throw error on bad packets input (default is to warn)

Definition at line 529 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTDEC_HALT_BAD_PKTS

#define OCSD_OPFLG_PKTDEC_HALT_BAD_PKTS   0x00000200

halt decoder on bad packets (default is to log error and continue by resetting decoder and wait for sync

Definition at line 530 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTPROC_COMMON

#define OCSD_OPFLG_PKTPROC_COMMON
Value:
OCSD_OPFLG_PKTPROC_NOMON_BAD_PKTS | \
OCSD_OPFLG_PKTPROC_ERR_BAD_PKTS | \
OCSD_OPFLG_PKTPROC_UNSYNC_ON_BAD_PKTS )
#define OCSD_OPFLG_PKTPROC_NOFWD_BAD_PKTS

mask to combine all common packet processor operational control flags

Definition at line 513 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTPROC_ERR_BAD_PKTS

#define OCSD_OPFLG_PKTPROC_ERR_BAD_PKTS   0x00000040

throw error for bad packets - halt decoding.

Definition at line 509 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTPROC_NOFWD_BAD_PKTS

#define OCSD_OPFLG_PKTPROC_NOFWD_BAD_PKTS   0x00000010

don't forward bad packets up data path

Definition at line 507 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTPROC_NOMON_BAD_PKTS

#define OCSD_OPFLG_PKTPROC_NOMON_BAD_PKTS   0x00000020

don't forward bad packets to monitor interface

Definition at line 508 of file ocsd_if_types.h.

◆ OCSD_OPFLG_PKTPROC_UNSYNC_ON_BAD_PKTS

#define OCSD_OPFLG_PKTPROC_UNSYNC_ON_BAD_PKTS   0x00000080

switch to unsynced state on bad packets - wait for next sync point

Definition at line 510 of file ocsd_if_types.h.

◆ OCSD_PROTOCOL_IS_BUILTIN

#define OCSD_PROTOCOL_IS_BUILTIN (   P)    ((P > OCSD_PROTOCOL_UNKNOWN) && (P < OCSD_PROTOCOL_BUILTIN_END))

Test if protocol type is a library built-in decoder

Definition at line 590 of file ocsd_if_types.h.

◆ OCSD_PROTOCOL_IS_CUSTOM

#define OCSD_PROTOCOL_IS_CUSTOM (   P)    ((P >= OCSD_PROTOCOL_CUSTOM_0) && (P < OCSD_PROTOCOL_END ))

Test if protocol type is a custom external registered decoder

Definition at line 593 of file ocsd_if_types.h.

◆ OCSD_STATS_REVISION

#define OCSD_STATS_REVISION   0x1

Definition at line 683 of file ocsd_if_types.h.

◆ OCSD_TRC_IDX_STR

#define OCSD_TRC_IDX_STR   PRIu32

Definition at line 68 of file ocsd_if_types.h.

◆ OCSD_VA_MASK

#define OCSD_VA_MASK   ~0ULL

64 bit Virtual address bitsize mask

Definition at line 312 of file ocsd_if_types.h.

◆ OCSD_VER_MAJOR

#define OCSD_VER_MAJOR   0x1

Library Major Version

Definition at line 45 of file ocsd_if_version.h.

◆ OCSD_VER_MINOR

#define OCSD_VER_MINOR   0x3

Library Minor Version

Definition at line 46 of file ocsd_if_version.h.

◆ OCSD_VER_NUM

#define OCSD_VER_NUM   ((OCSD_VER_MAJOR << 16) | (OCSD_VER_MINOR << 8) | OCSD_VER_PATCH)

Library version number - MMMMnnpp format. MMMM = major version, nn = minor version, pp = patch version

Definition at line 54 of file ocsd_if_version.h.

◆ OCSD_VER_PATCH

#define OCSD_VER_PATCH   0x3

Library Patch Version

Definition at line 47 of file ocsd_if_version.h.

◆ OCSD_VER_STRING

#define OCSD_VER_STRING   "1.3.3"

Library Version string

Definition at line 56 of file ocsd_if_version.h.

◆ SWT_ID_VALID_MASK

#define SWT_ID_VALID_MASK   (0x1 << 23)

mask for the swt_id_valid flag - need to retain between packets

Definition at line 634 of file ocsd_if_types.h.

Typedef Documentation

◆ Fn_MemAcc_CB

typedef 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)

Callback function definition for callback function memory accessor type.

When using callback memory accessor, the decoder will call this function to obtain the memory at the address for the current opcodes. The memory space will represent the current exception level and security context of the traced code.

Return the number of bytes read, which can be less than the amount requested if this would take the access address outside the range of addresses defined when this callback was registered with the decoder.

Return 0 bytes if start address out of covered range, or memory space is not one of those defined as supported when the callback was registered.

Parameters
p_context: opaque context pointer set by callback client.
address: start address of memory to be accessed
mem_space: memory space of accessed memory (current EL & security state)
reqBytes: number of bytes required
*byteBuffer: buffer for data.
Returns
uint32_t : Number of bytes actually read, or 0 for access error.

Definition at line 465 of file ocsd_if_types.h.

◆ Fn_MemAccID_CB

typedef 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)

Callback function definition for callback function memory accessor type.

When using callback memory accessor, the decoder will call this function to obtain the memory at the address for the current opcodes. The memory space will represent the current exception level and security context of the traced code.

Return the number of bytes read, which can be less than the amount requested if this would take the access address outside the range of addresses defined when this callback was registered with the decoder.

Return 0 bytes if start address out of covered range, or memory space is not one of those defined as supported when the callback was registered.

Parameters
p_context: opaque context pointer set by callback client.
address: start address of memory to be accessed
mem_space: memory space of accessed memory (current EL & security state)
trcID: Trace ID for source of trace - allow CB to client to associate mem req with source cpu.
reqBytes: number of bytes required
*byteBuffer: buffer for data.
Returns
uint32_t : Number of bytes actually read, or 0 for access error.

Definition at line 489 of file ocsd_if_types.h.

◆ ocsd_arch_profile_t

Combined architecture and profile descriptor for a core

◆ ocsd_arch_version_t

Core Architecture Version

◆ ocsd_core_profile_t

Core Profile

◆ ocsd_datapath_op_t

Trace Datapath operations.

◆ ocsd_datapath_resp_t

Trace Datapath responses

◆ ocsd_dcd_tree_src_t

Indicates if the trace source will be frame formatted or a single protocol source. Used in decode tree creation and configuration code.

◆ ocsd_decode_stats_t

◆ ocsd_demux_stats_t

◆ ocsd_err_severity_t

Error Severity Type

Used to indicate the severity of an error, and also as the error log verbosity level in the error logger.

The logger will ignore errors with a severity value higher than the current verbosity level.

The value OCSD_ERR_SEV_NONE can only be used as a verbosity level to switch off logging, not as a severity value on an error. The other values can be used as both error severity and logger verbosity values.

◆ ocsd_err_t

typedef enum _ocsd_err_t ocsd_err_t

Library Error return type

◆ ocsd_ex_level

Exception level type

◆ ocsd_file_mem_region_t

memory region type for adding multi-region binary files to memory access interface

◆ ocsd_hndl_err_log_t

typedef unsigned int ocsd_hndl_err_log_t

error logger connection handle

Definition at line 149 of file ocsd_if_types.h.

◆ ocsd_hndl_rdr_t

typedef unsigned int ocsd_hndl_rdr_t

reader control handle

Definition at line 148 of file ocsd_if_types.h.

◆ ocsd_instr_info

Instruction decode request structure.

Used in IInstrDecode interface.

Caller fills in the input: information, callee then fills in the decoder: information.

◆ ocsd_instr_subtype

instruction sub types - addiitonal information passed to the output packets for trace analysis tools.

◆ ocsd_instr_type

instruction types - significant for waypoint calculations

◆ ocsd_isa

typedef enum _ocsd_isa ocsd_isa

Instruction Set Architecture type

◆ ocsd_mem_space_acc_t

memory space bitfield enum for available security states and exception levels used when accessing memory.

◆ ocsd_pe_context

Core(PE) context structure records current security state, exception level, VMID and ContextID for core.

◆ ocsd_rawframe_elem_t

Raw frame element data types Data blocks types output from ITrcRawFrameIn.

◆ ocsd_sec_level

Security level type

◆ ocsd_swt_info_t

◆ ocsd_trace_protocol_t

Trace Protocol Builtin Types + extern

◆ ocsd_trc_index_t

typedef uint32_t ocsd_trc_index_t

Trace source index type - 32 bit size

Definition at line 67 of file ocsd_if_types.h.

◆ ocsd_vaddr_t

typedef uint64_t ocsd_vaddr_t

64 bit virtual addressing in library

Definition at line 310 of file ocsd_if_types.h.

Enumeration Type Documentation

◆ _ocsd_arch_version

Core Architecture Version

Enumerator
ARCH_UNKNOWN 

unknown architecture

ARCH_CUSTOM 

None ARM, custom architecture

ARCH_V7 

V7 architecture

ARCH_V8 

V8 architecture

ARCH_V8r3 

V8.3 architecture

ARCH_AA64 

Min v8r3 plus additional AA64 PE features

ARCH_V8_max 

Definition at line 275 of file ocsd_if_types.h.

◆ _ocsd_core_profile

Core Profile

Enumerator
profile_Unknown 

Unknown profile

profile_CortexM 

Cortex-M profile

profile_CortexR 

Cortex-R profile

profile_CortexA 

Cortex-A profile

profile_Custom 

None ARM, custom arch profile

Definition at line 290 of file ocsd_if_types.h.

◆ _ocsd_datapath_op_t

Trace Datapath operations.

Enumerator
OCSD_OP_DATA 

Standard index + data packet

OCSD_OP_EOT 

End of available trace data. No data packet.

OCSD_OP_FLUSH 

Flush existing data where possible, retain decode state. No data packet.

OCSD_OP_RESET 

Reset decode state - drop any existing partial data. No data packet.

Definition at line 180 of file ocsd_if_types.h.

◆ _ocsd_datapath_resp_t

Trace Datapath responses

Enumerator
OCSD_RESP_CONT 

Continue processing

OCSD_RESP_WARN_CONT 

Continue processing : a component logged a warning.

OCSD_RESP_ERR_CONT 

Continue processing : a component logged an error.

OCSD_RESP_WAIT 

Pause processing

OCSD_RESP_WARN_WAIT 

Pause processing : a component logged a warning.

OCSD_RESP_ERR_WAIT 

Pause processing : a component logged an error.

OCSD_RESP_FATAL_NOT_INIT 

Processing Fatal Error : component unintialised.

OCSD_RESP_FATAL_INVALID_OP 

Processing Fatal Error : invalid data path operation.

OCSD_RESP_FATAL_INVALID_PARAM 

Processing Fatal Error : invalid parameter in datapath call.

OCSD_RESP_FATAL_INVALID_DATA 

Processing Fatal Error : invalid trace data

OCSD_RESP_FATAL_SYS_ERR 

Processing Fatal Error : internal system error.

Definition at line 190 of file ocsd_if_types.h.

◆ _ocsd_dcd_tree_src_t

Indicates if the trace source will be frame formatted or a single protocol source. Used in decode tree creation and configuration code.

Enumerator
OCSD_TRC_SRC_FRAME_FORMATTED 

input source is frame formatted.

OCSD_TRC_SRC_SINGLE 

input source is from a single protocol generator.

Definition at line 238 of file ocsd_if_types.h.

◆ _ocsd_err_severity_t

Error Severity Type

Used to indicate the severity of an error, and also as the error log verbosity level in the error logger.

The logger will ignore errors with a severity value higher than the current verbosity level.

The value OCSD_ERR_SEV_NONE can only be used as a verbosity level to switch off logging, not as a severity value on an error. The other values can be used as both error severity and logger verbosity values.

Enumerator
OCSD_ERR_SEV_NONE 

No error logging.

OCSD_ERR_SEV_ERROR 

Most severe error - perhaps fatal.

OCSD_ERR_SEV_WARN 

Warning level. Inconsistent or incorrect data seen but can carry on decode processing

OCSD_ERR_SEV_INFO 

Information only message. Use for debugging code or suspect input data.

Definition at line 166 of file ocsd_if_types.h.

◆ _ocsd_err_t

Library Error return type

Enumerator
OCSD_OK 

No Error.

OCSD_ERR_FAIL 

General systemic failure.

OCSD_ERR_MEM 

Internal memory allocation error.

OCSD_ERR_NOT_INIT 

Component not initialised or initialisation failure.

OCSD_ERR_INVALID_ID 

Invalid CoreSight Trace Source ID.

OCSD_ERR_BAD_HANDLE 

Invalid handle passed to component.

OCSD_ERR_INVALID_PARAM_VAL 

Invalid value parameter passed to component.

OCSD_ERR_INVALID_PARAM_TYPE 

Type mismatch on abstract interface

OCSD_ERR_FILE_ERROR 

File access error

OCSD_ERR_NO_PROTOCOL 

Trace protocol unsupported

OCSD_ERR_ATTACH_TOO_MANY 

Cannot attach - attach device limit reached.

OCSD_ERR_ATTACH_INVALID_PARAM 

Cannot attach - invalid parameter.

OCSD_ERR_ATTACH_COMP_NOT_FOUND 

Cannot detach - component not found.

OCSD_ERR_RDR_FILE_NOT_FOUND 

source reader - file not found.

OCSD_ERR_RDR_INVALID_INIT 

source reader - invalid initialisation parameter.

OCSD_ERR_RDR_NO_DECODER 

source reader - not trace decoder set.

OCSD_ERR_DATA_DECODE_FATAL 

A decoder in the data path has returned a fatal error.

OCSD_ERR_DFMTR_NOTCONTTRACE 

Trace input to deformatter none-continuous

OCSD_ERR_DFMTR_BAD_FHSYNC 

Bad frame or half frame sync in trace deformatter

OCSD_ERR_BAD_PACKET_SEQ 

Bad packet sequence

OCSD_ERR_INVALID_PCKT_HDR 

Invalid packet header

OCSD_ERR_PKT_INTERP_FAIL 

Interpreter failed - cannot recover - bad data or sequence

OCSD_ERR_UNSUPPORTED_ISA 

ISA not supported in decoder.

OCSD_ERR_HW_CFG_UNSUPP 

Programmed trace configuration not supported by decoder.

OCSD_ERR_UNSUPP_DECODE_PKT 

Packet not supported in decoder

OCSD_ERR_BAD_DECODE_PKT 

reserved or unknown packet in decoder.

OCSD_ERR_COMMIT_PKT_OVERRUN 

overrun in commit packet stack - tried to commit more than available

OCSD_ERR_MEM_NACC 

unable to access required memory address

OCSD_ERR_RET_STACK_OVERFLOW 

internal return stack overflow checks failed - popped more than we pushed.

OCSD_ERR_DCDT_NO_FORMATTER 

No formatter in use - operation not valid.

OCSD_ERR_MEM_ACC_OVERLAP 

Attempted to set an overlapping range in memory access map

OCSD_ERR_MEM_ACC_FILE_NOT_FOUND 

Memory access file could not be opened

OCSD_ERR_MEM_ACC_FILE_DIFF_RANGE 

Attempt to re-use the same memory access file for a different address range

OCSD_ERR_MEM_ACC_RANGE_INVALID 

Address range in accessor set to invalid values

OCSD_ERR_MEM_ACC_BAD_LEN 

Memory accessor returned a bad read length value (larger than requested

OCSD_ERR_TEST_SNAPSHOT_PARSE 

test snapshot file parse error

OCSD_ERR_TEST_SNAPSHOT_PARSE_INFO 

test snapshot file parse information

OCSD_ERR_TEST_SNAPSHOT_READ 

test snapshot reader error

OCSD_ERR_TEST_SS_TO_DECODER 

test snapshot to decode tree conversion error

OCSD_ERR_DCDREG_NAME_REPEAT 

attempted to register a decoder with the same name as another one

OCSD_ERR_DCDREG_NAME_UNKNOWN 

attempted to find a decoder with a name that is not known in the library

OCSD_ERR_DCDREG_TYPE_UNKNOWN 

attempted to find a decoder with a type that is not known in the library

OCSD_ERR_DCDREG_TOOMANY 

attempted to register too many custom decoders

OCSD_ERR_DCD_INTERFACE_UNUSED 

Attempt to connect or use and interface not supported by this decoder.

OCSD_ERR_LAST 

Definition at line 85 of file ocsd_if_types.h.

◆ _ocsd_ex_level

Exception level type

Enumerator
ocsd_EL_unknown 

EL unknown / unsupported in trace

ocsd_EL0 

EL0

ocsd_EL1 

EL1

ocsd_EL2 

EL2

ocsd_EL3 

EL3

Definition at line 349 of file ocsd_if_types.h.

◆ _ocsd_instr_subtype

instruction sub types - addiitonal information passed to the output packets for trace analysis tools.

Enumerator
OCSD_S_INSTR_NONE 

no subtype set

OCSD_S_INSTR_BR_LINK 

branch with link

OCSD_S_INSTR_V8_RET 

v8 ret instruction - subtype of BR_INDIRECT

OCSD_S_INSTR_V8_ERET 

v8 eret instruction - subtype of BR_INDIRECT

OCSD_S_INSTR_V7_IMPLIED_RET 

v7 instruction which could imply return e.g. MOV PC, LR; POP { ,pc}

Definition at line 373 of file ocsd_if_types.h.

◆ _ocsd_instr_type

instruction types - significant for waypoint calculations

Enumerator
OCSD_INSTR_OTHER 

Other instruction - not significant for waypoints.

OCSD_INSTR_BR 

Immediate Branch instruction

OCSD_INSTR_BR_INDIRECT 

Indirect Branch instruction

OCSD_INSTR_ISB 

Barrier : ISB instruction

OCSD_INSTR_DSB_DMB 

Barrier : DSB or DMB instruction

OCSD_INSTR_WFI_WFE 

WFI or WFE traced as direct branch

OCSD_INSTR_TSTART 

PE Arch feature FEAT_TME - TSTART instruction

Definition at line 360 of file ocsd_if_types.h.

◆ _ocsd_isa

enum _ocsd_isa

Instruction Set Architecture type

Enumerator
ocsd_isa_arm 

V7 ARM 32, V8 AArch32

ocsd_isa_thumb2 

Thumb2 -> 16/32 bit instructions

ocsd_isa_aarch64 

V8 AArch64

ocsd_isa_tee 

Thumb EE - unsupported

ocsd_isa_jazelle 

Jazelle - unsupported in trace

ocsd_isa_custom 

Instruction set - custom arch decoder

ocsd_isa_unknown 

ISA not yet known

Definition at line 326 of file ocsd_if_types.h.

◆ _ocsd_mem_space_acc_t

memory space bitfield enum for available security states and exception levels used when accessing memory.

Enumerator
OCSD_MEM_SPACE_EL1S 

S EL1/0

OCSD_MEM_SPACE_EL1N 

NS EL1/0

OCSD_MEM_SPACE_EL2 

NS EL2

OCSD_MEM_SPACE_EL3 

S EL3

OCSD_MEM_SPACE_EL2S 

S EL2

OCSD_MEM_SPACE_S 

Any S

OCSD_MEM_SPACE_N 

Any NS

OCSD_MEM_SPACE_ANY 

Any sec level / EL - live system use current EL + sec state

Definition at line 433 of file ocsd_if_types.h.

◆ _ocsd_sec_level

Security level type

Enumerator
ocsd_sec_secure 

Core is in secure state

ocsd_sec_nonsecure 

Core is in non-secure state

ocsd_sec_root 

PE FEAT_RME: Core is in root state.

ocsd_sec_realm 

PE FEAT_RME: Core is in realm state.

Definition at line 339 of file ocsd_if_types.h.

◆ _ocsd_trace_protocol_t

Trace Protocol Builtin Types + extern

Enumerator
OCSD_PROTOCOL_UNKNOWN 

Protocol unknown

OCSD_PROTOCOL_ETMV3 

ETMV3 instruction and data trace protocol decoder.

OCSD_PROTOCOL_ETMV4I 

ETMV4 instruction trace protocol decoder.

OCSD_PROTOCOL_ETMV4D 

ETMV4 data trace protocol decoder.

OCSD_PROTOCOL_PTM 

PTM program flow instruction trace protocol decoder.

OCSD_PROTOCOL_STM 

STM system trace protocol decoder.

OCSD_PROTOCOL_ETE 

ETE trace protocol decoder

OCSD_PROTOCOL_BUILTIN_END 

Invalid protocol - built-in protocol types end marker

OCSD_PROTOCOL_CUSTOM_0 

Values from this onwards are assigned to external registered decoders

OCSD_PROTOCOL_CUSTOM_1 
OCSD_PROTOCOL_CUSTOM_2 
OCSD_PROTOCOL_CUSTOM_3 
OCSD_PROTOCOL_CUSTOM_4 
OCSD_PROTOCOL_CUSTOM_5 
OCSD_PROTOCOL_CUSTOM_6 
OCSD_PROTOCOL_CUSTOM_7 
OCSD_PROTOCOL_CUSTOM_8 
OCSD_PROTOCOL_CUSTOM_9 
OCSD_PROTOCOL_END 

Invalid protocol - protocol types end marker

Definition at line 560 of file ocsd_if_types.h.

◆ _rcdtl_rawframe_elem_t

Raw frame element data types Data blocks types output from ITrcRawFrameIn.

Enumerator
OCSD_FRM_NONE 

None data operation on data path. (EOT etc.)

OCSD_FRM_PACKED 

Raw packed frame data

OCSD_FRM_HSYNC 

HSYNC data

OCSD_FRM_FSYNC 

Frame Sync Data

OCSD_FRM_ID_DATA 

unpacked data for ID

Definition at line 226 of file ocsd_if_types.h.