OpenCSD - CoreSight Trace Decode Library
1.3.3
|
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... | |
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 |
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: 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 | |
#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" |
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.
#define OCSD_BAD_CS_SRC_ID ((uint8_t)-1) |
Invalid trace source ID value
Definition at line 74 of file ocsd_if_types.h.
#define OCSD_BAD_TRC_INDEX ((ocsd_trc_index_t)-1) |
Invalid trace index value
Definition at line 72 of file ocsd_if_types.h.
#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.
#define OCSD_BUILTIN_DCD_ETE "ETE" |
ETE decoder
Definition at line 556 of file ocsd_if_types.h.
#define OCSD_BUILTIN_DCD_ETMV3 "ETMV3" |
ETMv3 decoder
Definition at line 552 of file ocsd_if_types.h.
#define OCSD_BUILTIN_DCD_ETMV4D "ETMV4D" |
ETMv4 data decoder
Definition at line 554 of file ocsd_if_types.h.
#define OCSD_BUILTIN_DCD_ETMV4I "ETMV4I" |
ETMv4 instruction decoder
Definition at line 553 of file ocsd_if_types.h.
#define OCSD_BUILTIN_DCD_PTM "PTM" |
PTM decoder
Definition at line 555 of file ocsd_if_types.h.
#define OCSD_BUILTIN_DCD_STM "STM" |
STM decoder
Definition at line 551 of file ocsd_if_types.h.
#define OCSD_CMPNAME_PREFIX_FRAMEDEFORMATTER "DFMT" |
Component name prefix for trace frame deformatter component
Definition at line 263 of file ocsd_if_types.h.
#define OCSD_CMPNAME_PREFIX_PKTDEC "PDEC" |
Component name prefix for trace packet decoder.
Definition at line 267 of file ocsd_if_types.h.
#define OCSD_CMPNAME_PREFIX_PKTPROC "PKTP" |
Component name prefix for trace packet processor.
Definition at line 265 of file ocsd_if_types.h.
#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.
#define OCSD_CREATE_FLG_FULL_DECODER 0x02 |
Create packet processor + decoder pair
Definition at line 548 of file ocsd_if_types.h.
#define OCSD_CREATE_FLG_INST_ID 0x04 |
Use instance ID in decoder instance name
Definition at line 549 of file ocsd_if_types.h.
#define OCSD_CREATE_FLG_PACKET_PROC 0x01 |
Create packet processor only.
Definition at line 547 of file ocsd_if_types.h.
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#define OCSD_DFRMTR_FRAME_SIZE 0x10 |
CoreSight frame formatter frame size constant in bytes.
Definition at line 251 of file ocsd_if_types.h.
#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.
#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.
#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.
#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.
#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.
#define OCSD_DFRMTR_VALID_MASK 0x3F |
Deformatter Config : valid mask for deformatter configuration
Definition at line 249 of file ocsd_if_types.h.
#define OCSD_INVALID_HANDLE (unsigned int)-1 |
Global invalid handle value
Definition at line 152 of file ocsd_if_types.h.
#define OCSD_IS_ARCH_MINVER | ( | arch, | |
min_arch | |||
) | (arch >= min_arch) |
Definition at line 287 of file ocsd_if_types.h.
#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.
#define OCSD_IS_V8_ARCH | ( | arch | ) | ((arch >= ARCH_V8) && (arch <= ARCH_V8_max)) |
Definition at line 286 of file ocsd_if_types.h.
#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.
#define OCSD_LIB_NAME "OpenCSD Library" |
Library name string
Definition at line 57 of file ocsd_if_version.h.
#define OCSD_LIB_SHORT_NAME "OCSD" |
Library Short name string
Definition at line 58 of file ocsd_if_version.h.
#define OCSD_MAX_VA_BITSIZE 64 |
64 bit Virtual address bitsize macro
Definition at line 311 of file ocsd_if_types.h.
#define OCSD_OPFLG_COMP_MODE_MASK 0xFFFF0000 |
mask for the component spcific flags
Definition at line 519 of file ocsd_if_types.h.
#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.
#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.
#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.
#define OCSD_OPFLG_PKTPROC_COMMON |
mask to combine all common packet processor operational control flags
Definition at line 513 of file ocsd_if_types.h.
#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.
#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.
#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.
#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.
#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.
#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.
#define OCSD_STATS_REVISION 0x1 |
Definition at line 683 of file ocsd_if_types.h.
#define OCSD_TRC_IDX_STR PRIu32 |
Definition at line 68 of file ocsd_if_types.h.
#define OCSD_VA_MASK ~0ULL |
64 bit Virtual address bitsize mask
Definition at line 312 of file ocsd_if_types.h.
#define OCSD_VER_MAJOR 0x1 |
Library Major Version
Definition at line 45 of file ocsd_if_version.h.
#define OCSD_VER_MINOR 0x3 |
Library Minor Version
Definition at line 46 of file ocsd_if_version.h.
#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.
#define OCSD_VER_PATCH 0x3 |
Library Patch Version
Definition at line 47 of file ocsd_if_version.h.
#define OCSD_VER_STRING "1.3.3" |
Library Version string
Definition at line 56 of file ocsd_if_version.h.
#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 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.
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. |
Definition at line 465 of file ocsd_if_types.h.
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.
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. |
Definition at line 489 of file ocsd_if_types.h.
typedef struct _ocsd_arch_profile_t ocsd_arch_profile_t |
Combined architecture and profile descriptor for a core
typedef enum _ocsd_arch_version ocsd_arch_version_t |
Core Architecture Version
typedef enum _ocsd_core_profile ocsd_core_profile_t |
Core Profile
typedef enum _ocsd_datapath_op_t ocsd_datapath_op_t |
Trace Datapath operations.
typedef enum _ocsd_datapath_resp_t ocsd_datapath_resp_t |
Trace Datapath responses
typedef enum _ocsd_dcd_tree_src_t 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.
typedef struct _ocsd_decode_stats ocsd_decode_stats_t |
typedef struct _ocsd_demux_stats ocsd_demux_stats_t |
typedef enum _ocsd_err_severity_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.
typedef enum _ocsd_err_t ocsd_err_t |
Library Error return type
typedef enum _ocsd_ex_level ocsd_ex_level |
Exception level type
typedef struct _ocsd_file_mem_region ocsd_file_mem_region_t |
memory region type for adding multi-region binary files to memory access interface
typedef unsigned int ocsd_hndl_err_log_t |
error logger connection handle
Definition at line 149 of file ocsd_if_types.h.
typedef unsigned int ocsd_hndl_rdr_t |
reader control handle
Definition at line 148 of file ocsd_if_types.h.
typedef struct _ocsd_instr_info ocsd_instr_info |
Instruction decode request structure.
Used in IInstrDecode interface.
Caller fills in the input: information, callee then fills in the decoder: information.
typedef enum _ocsd_instr_subtype ocsd_instr_subtype |
instruction sub types - addiitonal information passed to the output packets for trace analysis tools.
typedef enum _ocsd_instr_type ocsd_instr_type |
instruction types - significant for waypoint calculations
typedef enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t |
memory space bitfield enum for available security states and exception levels used when accessing memory.
typedef struct _ocsd_pe_context ocsd_pe_context |
Core(PE) context structure records current security state, exception level, VMID and ContextID for core.
typedef enum _rcdtl_rawframe_elem_t ocsd_rawframe_elem_t |
Raw frame element data types Data blocks types output from ITrcRawFrameIn.
typedef enum _ocsd_sec_level ocsd_sec_level |
Security level type
typedef struct _ocsd_swt_info ocsd_swt_info_t |
typedef enum _ocsd_trace_protocol_t ocsd_trace_protocol_t |
Trace Protocol Builtin Types + extern
typedef uint32_t ocsd_trc_index_t |
Trace source index type - 32 bit size
Definition at line 67 of file ocsd_if_types.h.
typedef uint64_t ocsd_vaddr_t |
64 bit virtual addressing in library
Definition at line 310 of file ocsd_if_types.h.
enum _ocsd_arch_version |
Core Architecture Version
Definition at line 275 of file ocsd_if_types.h.
enum _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.
enum _ocsd_datapath_op_t |
Trace Datapath operations.
Definition at line 180 of file ocsd_if_types.h.
Trace Datapath responses
Definition at line 190 of file ocsd_if_types.h.
enum _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.
enum _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.
Definition at line 166 of file ocsd_if_types.h.
enum _ocsd_err_t |
Library Error return type
Definition at line 85 of file ocsd_if_types.h.
enum _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.
enum _ocsd_instr_subtype |
instruction sub types - addiitonal information passed to the output packets for trace analysis tools.
Definition at line 373 of file ocsd_if_types.h.
enum _ocsd_instr_type |
instruction types - significant for waypoint calculations
Definition at line 360 of file ocsd_if_types.h.
enum _ocsd_isa |
Instruction Set Architecture type
Definition at line 326 of file ocsd_if_types.h.
memory space bitfield enum for available security states and exception levels used when accessing memory.
Definition at line 433 of file ocsd_if_types.h.
enum _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.
Trace Protocol Builtin Types + extern
Definition at line 560 of file ocsd_if_types.h.
Raw frame element data types Data blocks types output from ITrcRawFrameIn.
Definition at line 226 of file ocsd_if_types.h.