ocsd_if_types.h
Go to the documentation of this file.
/*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef ARM_OCSD_IF_TYPES_H_INCLUDED
#define ARM_OCSD_IF_TYPES_H_INCLUDED
#include <stdint.h>
#include <stddef.h>
#if defined(_MSC_VER) && (_MSC_VER < 1900)
#define __PRI64_PREFIX "ll"
#define PRIX64 __PRI64_PREFIX "X"
#define PRIu64 __PRI64_PREFIX "u"
#define PRIu32 "u"
#else
#include <inttypes.h>
#endif
#ifdef ENABLE_LARGE_TRACE_SOURCES
typedef uint64_t ocsd_trc_index_t;
#define OCSD_TRC_IDX_STR PRIu64
#else
typedef uint32_t ocsd_trc_index_t;
#define OCSD_TRC_IDX_STR PRIu32
#endif
#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))
typedef enum _ocsd_err_t {
/* general return errors */
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,
/* attachment point errors */
OCSD_ERR_ATTACH_TOO_MANY,
OCSD_ERR_ATTACH_INVALID_PARAM,
OCSD_ERR_ATTACH_COMP_NOT_FOUND,
/* source reader errors */
OCSD_ERR_RDR_FILE_NOT_FOUND,
OCSD_ERR_RDR_INVALID_INIT,
OCSD_ERR_RDR_NO_DECODER,
/* data path errors */
OCSD_ERR_DATA_DECODE_FATAL,
/* frame deformatter errors */
OCSD_ERR_DFMTR_NOTCONTTRACE,
OCSD_ERR_DFMTR_BAD_FHSYNC,
/* packet processor errors - protocol issues etc */
OCSD_ERR_BAD_PACKET_SEQ,
OCSD_ERR_INVALID_PCKT_HDR,
OCSD_ERR_PKT_INTERP_FAIL,
/* packet decoder errors */
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,
/* decode tree errors */
OCSD_ERR_DCDT_NO_FORMATTER,
/* target memory access errors */
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,
/* test errors - errors generated only by the test code, not the library */
OCSD_ERR_TEST_SNAPSHOT_PARSE,
OCSD_ERR_TEST_SNAPSHOT_PARSE_INFO,
OCSD_ERR_TEST_SNAPSHOT_READ,
OCSD_ERR_TEST_SS_TO_DECODER,
/* decoder registration */
OCSD_ERR_DCDREG_NAME_REPEAT,
OCSD_ERR_DCDREG_NAME_UNKNOWN,
OCSD_ERR_DCDREG_TYPE_UNKNOWN,
OCSD_ERR_DCDREG_TOOMANY,
/* decoder config */
OCSD_ERR_DCD_INTERFACE_UNUSED,
/* end marker*/
OCSD_ERR_LAST
} ocsd_err_t;
/* component handle types */
typedef unsigned int ocsd_hndl_rdr_t;
typedef unsigned int ocsd_hndl_err_log_t;
/* common invalid handle type */
#define OCSD_INVALID_HANDLE (unsigned int)-1
typedef enum _ocsd_err_severity_t {
OCSD_ERR_SEV_NONE,
OCSD_ERR_SEV_ERROR,
OCSD_ERR_SEV_WARN,
OCSD_ERR_SEV_INFO,
} ocsd_err_severity_t;
typedef enum _ocsd_datapath_op_t {
OCSD_OP_DATA = 0,
OCSD_OP_EOT,
OCSD_OP_FLUSH,
OCSD_OP_RESET,
} ocsd_datapath_op_t;
typedef 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,
} 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))
typedef enum _rcdtl_rawframe_elem_t {
OCSD_FRM_NONE,
OCSD_FRM_PACKED,
OCSD_FRM_HSYNC,
OCSD_FRM_FSYNC,
OCSD_FRM_ID_DATA,
} ocsd_rawframe_elem_t;
typedef enum _ocsd_dcd_tree_src_t {
OCSD_TRC_SRC_FRAME_FORMATTED,
OCSD_TRC_SRC_SINGLE,
} 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
#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"
typedef 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,
} ocsd_arch_version_t;
// macros for arch version comparisons.
#define OCSD_IS_V8_ARCH(arch) ((arch >= ARCH_V8) && (arch <= ARCH_V8_max))
#define OCSD_IS_ARCH_MINVER(arch, min_arch) (arch >= min_arch)
typedef enum _ocsd_core_profile {
profile_Unknown,
profile_CortexM,
profile_CortexR,
profile_CortexA,
profile_Custom,
} ocsd_core_profile_t;
typedef struct _ocsd_arch_profile_t {
ocsd_arch_version_t arch;
ocsd_core_profile_t profile;
} ocsd_arch_profile_t;
/* may want to use a 32 bit v-addr when running on 32 bit only ARM platforms. */
#ifdef USE_32BIT_V_ADDR
typedef uint32_t ocsd_vaddr_t;
#define OCSD_MAX_VA_BITSIZE 32
#define OCSD_VA_MASK ~0UL
#else
typedef uint64_t ocsd_vaddr_t;
#define OCSD_MAX_VA_BITSIZE 64
#define OCSD_VA_MASK ~0ULL
#endif
#define OCSD_BIT_MASK(bits) (bits == OCSD_MAX_VA_BITSIZE) ? OCSD_VA_MASK : ((ocsd_vaddr_t)1 << bits) - 1
typedef enum _ocsd_isa
{
ocsd_isa_arm,
ocsd_isa_thumb2,
ocsd_isa_aarch64,
ocsd_isa_tee,
ocsd_isa_jazelle,
ocsd_isa_custom,
ocsd_isa_unknown
} ocsd_isa;
typedef enum _ocsd_sec_level
{
ocsd_sec_secure,
ocsd_sec_nonsecure
} ocsd_sec_level ;
typedef enum _ocsd_ex_level
{
ocsd_EL_unknown = -1,
ocsd_EL0 = 0,
ocsd_EL1,
ocsd_EL2,
ocsd_EL3,
} ocsd_ex_level;
typedef 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,
} ocsd_instr_type;
typedef 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,
} ocsd_instr_subtype;
typedef struct _ocsd_instr_info {
/* input information */
ocsd_arch_profile_t pe_type;
ocsd_isa isa;
ocsd_vaddr_t instr_addr;
uint32_t opcode;
uint8_t dsb_dmb_waypoints;
uint8_t wfi_wfe_branch;
/* instruction decode info */
ocsd_instr_type type;
ocsd_vaddr_t branch_addr;
ocsd_isa next_isa;
uint8_t instr_size;
uint8_t is_conditional;
uint8_t is_link;
uint8_t thumb_it_conditions;
ocsd_instr_subtype sub_type;
} ocsd_instr_info;
typedef struct _ocsd_pe_context {
ocsd_sec_level security_level;
ocsd_ex_level exception_level;
uint32_t context_id;
uint32_t vmid;
struct {
uint32_t bits64:1;
uint32_t ctxt_id_valid:1;
uint32_t vmid_valid:1;
uint32_t el_valid:1;
};
} ocsd_pe_context;
typedef 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,
} 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 {
size_t file_offset;
ocsd_vaddr_t start_address;
size_t region_size;
} ocsd_file_mem_region_t;
#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 (OCSD_OPFLG_PKTPROC_NOFWD_BAD_PKTS | \
OCSD_OPFLG_PKTPROC_NOMON_BAD_PKTS | \
OCSD_OPFLG_PKTPROC_ERR_BAD_PKTS | \
OCSD_OPFLG_PKTPROC_UNSYNC_ON_BAD_PKTS )
#define OCSD_OPFLG_COMP_MODE_MASK 0xFFFF0000
#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)
#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"
typedef enum _ocsd_trace_protocol_t {
OCSD_PROTOCOL_UNKNOWN = 0,
/* Built in library decoders */
OCSD_PROTOCOL_ETMV3,
OCSD_PROTOCOL_ETMV4I,
OCSD_PROTOCOL_ETMV4D,
OCSD_PROTOCOL_PTM,
OCSD_PROTOCOL_STM,
OCSD_PROTOCOL_ETE,
/* others to be added here */
OCSD_PROTOCOL_BUILTIN_END,
/* Custom / external decoders */
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
} ocsd_trace_protocol_t;
#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 ))
typedef struct _ocsd_swt_info {
uint16_t swt_master_id;
uint16_t swt_channel_id;
union {
struct {
uint32_t swt_payload_pkt_bitsize:8;
uint32_t swt_payload_num_packets:8;
uint32_t swt_marker_packet:1;
uint32_t swt_has_timestamp:1;
uint32_t swt_marker_first:1;
uint32_t swt_master_err:1;
uint32_t swt_global_err:1;
uint32_t swt_trigger_event:1;
uint32_t swt_frequency:1;
uint32_t swt_id_valid:1;
};
uint32_t swt_flag_bits;
};
} ocsd_swt_info_t;
#define SWT_ID_VALID_MASK (0x1 << 23)
typedef struct _ocsd_demux_stats {
uint64_t valid_id_bytes;
uint64_t no_id_bytes;
uint64_t reserved_id_bytes;
uint64_t unknown_id_bytes;
uint64_t frame_bytes;
} ocsd_demux_stats_t;
typedef struct _ocsd_decode_stats {
uint32_t version;
uint16_t revision;
/* single channel block */
uint64_t channel_total;
uint64_t channel_unsynced;
uint32_t bad_header_errs;
uint32_t bad_sequence_errs;
ocsd_demux_stats_t demux;
} ocsd_decode_stats_t;
#define OCSD_STATS_REVISION 0x1
#endif // ARM_OCSD_IF_TYPES_H_INCLUDED
/* End of File opencsd/ocsd_if_types.h */
_ocsd_dcd_tree_src_t
_ocsd_dcd_tree_src_t
Definition: ocsd_if_types.h:238
_ocsd_err_t
_ocsd_err_t
Definition: ocsd_if_types.h:85
ocsd_dcd_tree_src_t
enum _ocsd_dcd_tree_src_t ocsd_dcd_tree_src_t
ocsd_sec_level
enum _ocsd_sec_level ocsd_sec_level
_ocsd_isa
_ocsd_isa
Definition: ocsd_if_types.h:327
ocsd_swt_info_t
struct _ocsd_swt_info ocsd_swt_info_t
ocsd_instr_subtype
enum _ocsd_instr_subtype ocsd_instr_subtype
_rcdtl_rawframe_elem_t
_rcdtl_rawframe_elem_t
Definition: ocsd_if_types.h:226
_ocsd_mem_space_acc_t
_ocsd_mem_space_acc_t
Definition: ocsd_if_types.h:431
ocsd_file_mem_region_t
struct _ocsd_file_mem_region ocsd_file_mem_region_t
ocsd_core_profile_t
enum _ocsd_core_profile ocsd_core_profile_t
_ocsd_datapath_resp_t
_ocsd_datapath_resp_t
Definition: ocsd_if_types.h:190
_ocsd_core_profile
_ocsd_core_profile
Definition: ocsd_if_types.h:290
_ocsd_ex_level
_ocsd_ex_level
Definition: ocsd_if_types.h:348
ocsd_instr_type
enum _ocsd_instr_type ocsd_instr_type
ocsd_trc_index_t
uint32_t ocsd_trc_index_t
Definition: ocsd_if_types.h:67
Fn_MemAccID_CB
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)
Definition: ocsd_if_types.h:487
ocsd_trace_protocol_t
enum _ocsd_trace_protocol_t ocsd_trace_protocol_t
ocsd_datapath_resp_t
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
_ocsd_instr_subtype
_ocsd_instr_subtype
Definition: ocsd_if_types.h:371
ocsd_pe_context
struct _ocsd_pe_context ocsd_pe_context
ocsd_decode_stats_t
struct _ocsd_decode_stats ocsd_decode_stats_t
ocsd_mem_space_acc_t
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
ocsd_ex_level
enum _ocsd_ex_level ocsd_ex_level
_ocsd_trace_protocol_t
_ocsd_trace_protocol_t
Definition: ocsd_if_types.h:558
ocsd_hndl_rdr_t
unsigned int ocsd_hndl_rdr_t
Definition: ocsd_if_types.h:148
ocsd_rawframe_elem_t
enum _rcdtl_rawframe_elem_t ocsd_rawframe_elem_t
Fn_MemAcc_CB
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)
Definition: ocsd_if_types.h:463
ocsd_arch_profile_t
struct _ocsd_arch_profile_t ocsd_arch_profile_t
_ocsd_instr_type
_ocsd_instr_type
Definition: ocsd_if_types.h:358
_ocsd_sec_level
_ocsd_sec_level
Definition: ocsd_if_types.h:340
ocsd_arch_version_t
enum _ocsd_arch_version ocsd_arch_version_t
ocsd_demux_stats_t
struct _ocsd_demux_stats ocsd_demux_stats_t
_ocsd_datapath_op_t
_ocsd_datapath_op_t
Definition: ocsd_if_types.h:180
ocsd_datapath_op_t
enum _ocsd_datapath_op_t ocsd_datapath_op_t
_ocsd_arch_version
_ocsd_arch_version
Definition: ocsd_if_types.h:275
ocsd_hndl_err_log_t
unsigned int ocsd_hndl_err_log_t
Definition: ocsd_if_types.h:149
ocsd_err_severity_t
enum _ocsd_err_severity_t ocsd_err_severity_t
ocsd_instr_info
struct _ocsd_instr_info ocsd_instr_info
ocsd_err_t
enum _ocsd_err_t ocsd_err_t
ocsd_isa
enum _ocsd_isa ocsd_isa
ocsd_vaddr_t
uint64_t ocsd_vaddr_t
Definition: ocsd_if_types.h:310
_ocsd_err_severity_t
_ocsd_err_severity_t
Definition: ocsd_if_types.h:166
OCSD_TRC_SRC_SINGLE
@ OCSD_TRC_SRC_SINGLE
Definition: ocsd_if_types.h:240
OCSD_TRC_SRC_FRAME_FORMATTED
@ OCSD_TRC_SRC_FRAME_FORMATTED
Definition: ocsd_if_types.h:239
OCSD_ERR_TEST_SNAPSHOT_PARSE_INFO
@ OCSD_ERR_TEST_SNAPSHOT_PARSE_INFO
Definition: ocsd_if_types.h:133
OCSD_ERR_DCDT_NO_FORMATTER
@ OCSD_ERR_DCDT_NO_FORMATTER
Definition: ocsd_if_types.h:124
OCSD_ERR_DATA_DECODE_FATAL
@ OCSD_ERR_DATA_DECODE_FATAL
Definition: ocsd_if_types.h:107
OCSD_ERR_DCDREG_TOOMANY
@ OCSD_ERR_DCDREG_TOOMANY
Definition: ocsd_if_types.h:140
OCSD_ERR_MEM_NACC
@ OCSD_ERR_MEM_NACC
Definition: ocsd_if_types.h:121
OCSD_ERR_RDR_NO_DECODER
@ OCSD_ERR_RDR_NO_DECODER
Definition: ocsd_if_types.h:105
OCSD_ERR_RDR_INVALID_INIT
@ OCSD_ERR_RDR_INVALID_INIT
Definition: ocsd_if_types.h:104
OCSD_ERR_MEM_ACC_RANGE_INVALID
@ OCSD_ERR_MEM_ACC_RANGE_INVALID
Definition: ocsd_if_types.h:129
OCSD_ERR_FAIL
@ OCSD_ERR_FAIL
Definition: ocsd_if_types.h:89
OCSD_ERR_NO_PROTOCOL
@ OCSD_ERR_NO_PROTOCOL
Definition: ocsd_if_types.h:97
OCSD_ERR_DFMTR_NOTCONTTRACE
@ OCSD_ERR_DFMTR_NOTCONTTRACE
Definition: ocsd_if_types.h:109
OCSD_ERR_MEM_ACC_FILE_DIFF_RANGE
@ OCSD_ERR_MEM_ACC_FILE_DIFF_RANGE
Definition: ocsd_if_types.h:128
OCSD_ERR_BAD_HANDLE
@ OCSD_ERR_BAD_HANDLE
Definition: ocsd_if_types.h:93
OCSD_ERR_BAD_DECODE_PKT
@ OCSD_ERR_BAD_DECODE_PKT
Definition: ocsd_if_types.h:119
OCSD_ERR_INVALID_ID
@ OCSD_ERR_INVALID_ID
Definition: ocsd_if_types.h:92
OCSD_ERR_TEST_SNAPSHOT_READ
@ OCSD_ERR_TEST_SNAPSHOT_READ
Definition: ocsd_if_types.h:134
OCSD_ERR_LAST
@ OCSD_ERR_LAST
Definition: ocsd_if_types.h:144
OCSD_ERR_DCD_INTERFACE_UNUSED
@ OCSD_ERR_DCD_INTERFACE_UNUSED
Definition: ocsd_if_types.h:142
OCSD_ERR_DCDREG_TYPE_UNKNOWN
@ OCSD_ERR_DCDREG_TYPE_UNKNOWN
Definition: ocsd_if_types.h:139
OCSD_ERR_ATTACH_TOO_MANY
@ OCSD_ERR_ATTACH_TOO_MANY
Definition: ocsd_if_types.h:99
OCSD_ERR_MEM_ACC_BAD_LEN
@ OCSD_ERR_MEM_ACC_BAD_LEN
Definition: ocsd_if_types.h:130
OCSD_ERR_UNSUPP_DECODE_PKT
@ OCSD_ERR_UNSUPP_DECODE_PKT
Definition: ocsd_if_types.h:118
OCSD_ERR_COMMIT_PKT_OVERRUN
@ OCSD_ERR_COMMIT_PKT_OVERRUN
Definition: ocsd_if_types.h:120
OCSD_OK
@ OCSD_OK
Definition: ocsd_if_types.h:88
OCSD_ERR_FILE_ERROR
@ OCSD_ERR_FILE_ERROR
Definition: ocsd_if_types.h:96
OCSD_ERR_ATTACH_COMP_NOT_FOUND
@ OCSD_ERR_ATTACH_COMP_NOT_FOUND
Definition: ocsd_if_types.h:101
OCSD_ERR_MEM_ACC_FILE_NOT_FOUND
@ OCSD_ERR_MEM_ACC_FILE_NOT_FOUND
Definition: ocsd_if_types.h:127
OCSD_ERR_ATTACH_INVALID_PARAM
@ OCSD_ERR_ATTACH_INVALID_PARAM
Definition: ocsd_if_types.h:100
OCSD_ERR_UNSUPPORTED_ISA
@ OCSD_ERR_UNSUPPORTED_ISA
Definition: ocsd_if_types.h:116
OCSD_ERR_INVALID_PARAM_VAL
@ OCSD_ERR_INVALID_PARAM_VAL
Definition: ocsd_if_types.h:94
OCSD_ERR_NOT_INIT
@ OCSD_ERR_NOT_INIT
Definition: ocsd_if_types.h:91
OCSD_ERR_BAD_PACKET_SEQ
@ OCSD_ERR_BAD_PACKET_SEQ
Definition: ocsd_if_types.h:112
OCSD_ERR_RDR_FILE_NOT_FOUND
@ OCSD_ERR_RDR_FILE_NOT_FOUND
Definition: ocsd_if_types.h:103
OCSD_ERR_DFMTR_BAD_FHSYNC
@ OCSD_ERR_DFMTR_BAD_FHSYNC
Definition: ocsd_if_types.h:110
OCSD_ERR_DCDREG_NAME_REPEAT
@ OCSD_ERR_DCDREG_NAME_REPEAT
Definition: ocsd_if_types.h:137
OCSD_ERR_INVALID_PARAM_TYPE
@ OCSD_ERR_INVALID_PARAM_TYPE
Definition: ocsd_if_types.h:95
OCSD_ERR_MEM_ACC_OVERLAP
@ OCSD_ERR_MEM_ACC_OVERLAP
Definition: ocsd_if_types.h:126
OCSD_ERR_INVALID_PCKT_HDR
@ OCSD_ERR_INVALID_PCKT_HDR
Definition: ocsd_if_types.h:113
OCSD_ERR_PKT_INTERP_FAIL
@ OCSD_ERR_PKT_INTERP_FAIL
Definition: ocsd_if_types.h:114
OCSD_ERR_MEM
@ OCSD_ERR_MEM
Definition: ocsd_if_types.h:90
OCSD_ERR_RET_STACK_OVERFLOW
@ OCSD_ERR_RET_STACK_OVERFLOW
Definition: ocsd_if_types.h:122
OCSD_ERR_TEST_SS_TO_DECODER
@ OCSD_ERR_TEST_SS_TO_DECODER
Definition: ocsd_if_types.h:135
OCSD_ERR_DCDREG_NAME_UNKNOWN
@ OCSD_ERR_DCDREG_NAME_UNKNOWN
Definition: ocsd_if_types.h:138
OCSD_ERR_TEST_SNAPSHOT_PARSE
@ OCSD_ERR_TEST_SNAPSHOT_PARSE
Definition: ocsd_if_types.h:132
OCSD_ERR_HW_CFG_UNSUPP
@ OCSD_ERR_HW_CFG_UNSUPP
Definition: ocsd_if_types.h:117
ocsd_isa_arm
@ ocsd_isa_arm
Definition: ocsd_if_types.h:328
ocsd_isa_jazelle
@ ocsd_isa_jazelle
Definition: ocsd_if_types.h:332
ocsd_isa_aarch64
@ ocsd_isa_aarch64
Definition: ocsd_if_types.h:330
ocsd_isa_tee
@ ocsd_isa_tee
Definition: ocsd_if_types.h:331
ocsd_isa_custom
@ ocsd_isa_custom
Definition: ocsd_if_types.h:333
ocsd_isa_unknown
@ ocsd_isa_unknown
Definition: ocsd_if_types.h:334
ocsd_isa_thumb2
@ ocsd_isa_thumb2
Definition: ocsd_if_types.h:329
OCSD_FRM_PACKED
@ OCSD_FRM_PACKED
Definition: ocsd_if_types.h:228
OCSD_FRM_FSYNC
@ OCSD_FRM_FSYNC
Definition: ocsd_if_types.h:230
OCSD_FRM_NONE
@ OCSD_FRM_NONE
Definition: ocsd_if_types.h:227
OCSD_FRM_ID_DATA
@ OCSD_FRM_ID_DATA
Definition: ocsd_if_types.h:231
OCSD_FRM_HSYNC
@ OCSD_FRM_HSYNC
Definition: ocsd_if_types.h:229
OCSD_MEM_SPACE_EL1N
@ OCSD_MEM_SPACE_EL1N
Definition: ocsd_if_types.h:433
OCSD_MEM_SPACE_EL2S
@ OCSD_MEM_SPACE_EL2S
Definition: ocsd_if_types.h:436
OCSD_MEM_SPACE_S
@ OCSD_MEM_SPACE_S
Definition: ocsd_if_types.h:437
OCSD_MEM_SPACE_EL2
@ OCSD_MEM_SPACE_EL2
Definition: ocsd_if_types.h:434
OCSD_MEM_SPACE_ANY
@ OCSD_MEM_SPACE_ANY
Definition: ocsd_if_types.h:439
OCSD_MEM_SPACE_N
@ OCSD_MEM_SPACE_N
Definition: ocsd_if_types.h:438
OCSD_MEM_SPACE_EL1S
@ OCSD_MEM_SPACE_EL1S
Definition: ocsd_if_types.h:432
OCSD_MEM_SPACE_EL3
@ OCSD_MEM_SPACE_EL3
Definition: ocsd_if_types.h:435
OCSD_RESP_WARN_CONT
@ OCSD_RESP_WARN_CONT
Definition: ocsd_if_types.h:192
OCSD_RESP_ERR_WAIT
@ OCSD_RESP_ERR_WAIT
Definition: ocsd_if_types.h:196
OCSD_RESP_WARN_WAIT
@ OCSD_RESP_WARN_WAIT
Definition: ocsd_if_types.h:195
OCSD_RESP_CONT
@ OCSD_RESP_CONT
Definition: ocsd_if_types.h:191
OCSD_RESP_FATAL_SYS_ERR
@ OCSD_RESP_FATAL_SYS_ERR
Definition: ocsd_if_types.h:201
OCSD_RESP_FATAL_INVALID_DATA
@ OCSD_RESP_FATAL_INVALID_DATA
Definition: ocsd_if_types.h:200
OCSD_RESP_ERR_CONT
@ OCSD_RESP_ERR_CONT
Definition: ocsd_if_types.h:193
OCSD_RESP_FATAL_NOT_INIT
@ OCSD_RESP_FATAL_NOT_INIT
Definition: ocsd_if_types.h:197
OCSD_RESP_FATAL_INVALID_PARAM
@ OCSD_RESP_FATAL_INVALID_PARAM
Definition: ocsd_if_types.h:199
OCSD_RESP_FATAL_INVALID_OP
@ OCSD_RESP_FATAL_INVALID_OP
Definition: ocsd_if_types.h:198
OCSD_RESP_WAIT
@ OCSD_RESP_WAIT
Definition: ocsd_if_types.h:194
profile_CortexA
@ profile_CortexA
Definition: ocsd_if_types.h:294
profile_Custom
@ profile_Custom
Definition: ocsd_if_types.h:295
profile_Unknown
@ profile_Unknown
Definition: ocsd_if_types.h:291
profile_CortexR
@ profile_CortexR
Definition: ocsd_if_types.h:293
profile_CortexM
@ profile_CortexM
Definition: ocsd_if_types.h:292
ocsd_EL1
@ ocsd_EL1
Definition: ocsd_if_types.h:351
ocsd_EL0
@ ocsd_EL0
Definition: ocsd_if_types.h:350
ocsd_EL_unknown
@ ocsd_EL_unknown
Definition: ocsd_if_types.h:349
ocsd_EL2
@ ocsd_EL2
Definition: ocsd_if_types.h:352
ocsd_EL3
@ ocsd_EL3
Definition: ocsd_if_types.h:353
OCSD_S_INSTR_V7_IMPLIED_RET
@ OCSD_S_INSTR_V7_IMPLIED_RET
Definition: ocsd_if_types.h:376
OCSD_S_INSTR_NONE
@ OCSD_S_INSTR_NONE
Definition: ocsd_if_types.h:372
OCSD_S_INSTR_V8_ERET
@ OCSD_S_INSTR_V8_ERET
Definition: ocsd_if_types.h:375
OCSD_S_INSTR_BR_LINK
@ OCSD_S_INSTR_BR_LINK
Definition: ocsd_if_types.h:373
OCSD_S_INSTR_V8_RET
@ OCSD_S_INSTR_V8_RET
Definition: ocsd_if_types.h:374
OCSD_PROTOCOL_STM
@ OCSD_PROTOCOL_STM
Definition: ocsd_if_types.h:566
OCSD_PROTOCOL_CUSTOM_1
@ OCSD_PROTOCOL_CUSTOM_1
Definition: ocsd_if_types.h:574
OCSD_PROTOCOL_BUILTIN_END
@ OCSD_PROTOCOL_BUILTIN_END
Definition: ocsd_if_types.h:570
OCSD_PROTOCOL_CUSTOM_0
@ OCSD_PROTOCOL_CUSTOM_0
Definition: ocsd_if_types.h:573
OCSD_PROTOCOL_ETMV4I
@ OCSD_PROTOCOL_ETMV4I
Definition: ocsd_if_types.h:563
OCSD_PROTOCOL_UNKNOWN
@ OCSD_PROTOCOL_UNKNOWN
Definition: ocsd_if_types.h:559
OCSD_PROTOCOL_END
@ OCSD_PROTOCOL_END
Definition: ocsd_if_types.h:584
OCSD_PROTOCOL_CUSTOM_2
@ OCSD_PROTOCOL_CUSTOM_2
Definition: ocsd_if_types.h:575
OCSD_PROTOCOL_ETMV3
@ OCSD_PROTOCOL_ETMV3
Definition: ocsd_if_types.h:562
OCSD_PROTOCOL_CUSTOM_4
@ OCSD_PROTOCOL_CUSTOM_4
Definition: ocsd_if_types.h:577
OCSD_PROTOCOL_CUSTOM_7
@ OCSD_PROTOCOL_CUSTOM_7
Definition: ocsd_if_types.h:580
OCSD_PROTOCOL_CUSTOM_8
@ OCSD_PROTOCOL_CUSTOM_8
Definition: ocsd_if_types.h:581
OCSD_PROTOCOL_CUSTOM_3
@ OCSD_PROTOCOL_CUSTOM_3
Definition: ocsd_if_types.h:576
OCSD_PROTOCOL_CUSTOM_9
@ OCSD_PROTOCOL_CUSTOM_9
Definition: ocsd_if_types.h:582
OCSD_PROTOCOL_CUSTOM_5
@ OCSD_PROTOCOL_CUSTOM_5
Definition: ocsd_if_types.h:578
OCSD_PROTOCOL_CUSTOM_6
@ OCSD_PROTOCOL_CUSTOM_6
Definition: ocsd_if_types.h:579
OCSD_PROTOCOL_ETE
@ OCSD_PROTOCOL_ETE
Definition: ocsd_if_types.h:567
OCSD_PROTOCOL_PTM
@ OCSD_PROTOCOL_PTM
Definition: ocsd_if_types.h:565
OCSD_PROTOCOL_ETMV4D
@ OCSD_PROTOCOL_ETMV4D
Definition: ocsd_if_types.h:564
OCSD_INSTR_TSTART
@ OCSD_INSTR_TSTART
Definition: ocsd_if_types.h:365
OCSD_INSTR_DSB_DMB
@ OCSD_INSTR_DSB_DMB
Definition: ocsd_if_types.h:363
OCSD_INSTR_WFI_WFE
@ OCSD_INSTR_WFI_WFE
Definition: ocsd_if_types.h:364
OCSD_INSTR_OTHER
@ OCSD_INSTR_OTHER
Definition: ocsd_if_types.h:359
OCSD_INSTR_BR
@ OCSD_INSTR_BR
Definition: ocsd_if_types.h:360
OCSD_INSTR_BR_INDIRECT
@ OCSD_INSTR_BR_INDIRECT
Definition: ocsd_if_types.h:361
OCSD_INSTR_ISB
@ OCSD_INSTR_ISB
Definition: ocsd_if_types.h:362
ocsd_sec_nonsecure
@ ocsd_sec_nonsecure
Definition: ocsd_if_types.h:342
ocsd_sec_secure
@ ocsd_sec_secure
Definition: ocsd_if_types.h:341
OCSD_OP_EOT
@ OCSD_OP_EOT
Definition: ocsd_if_types.h:182
OCSD_OP_FLUSH
@ OCSD_OP_FLUSH
Definition: ocsd_if_types.h:183
OCSD_OP_DATA
@ OCSD_OP_DATA
Definition: ocsd_if_types.h:181
OCSD_OP_RESET
@ OCSD_OP_RESET
Definition: ocsd_if_types.h:184
ARCH_V7
@ ARCH_V7
Definition: ocsd_if_types.h:278
ARCH_AA64
@ ARCH_AA64
Definition: ocsd_if_types.h:281
ARCH_CUSTOM
@ ARCH_CUSTOM
Definition: ocsd_if_types.h:277
ARCH_V8r3
@ ARCH_V8r3
Definition: ocsd_if_types.h:280
ARCH_V8_max
@ ARCH_V8_max
Definition: ocsd_if_types.h:282
ARCH_V8
@ ARCH_V8
Definition: ocsd_if_types.h:279
ARCH_UNKNOWN
@ ARCH_UNKNOWN
Definition: ocsd_if_types.h:276
OCSD_ERR_SEV_ERROR
@ OCSD_ERR_SEV_ERROR
Definition: ocsd_if_types.h:168
OCSD_ERR_SEV_WARN
@ OCSD_ERR_SEV_WARN
Definition: ocsd_if_types.h:169
OCSD_ERR_SEV_INFO
@ OCSD_ERR_SEV_INFO
Definition: ocsd_if_types.h:170
OCSD_ERR_SEV_NONE
@ OCSD_ERR_SEV_NONE
Definition: ocsd_if_types.h:167
_ocsd_arch_profile_t
Definition: ocsd_if_types.h:299
_ocsd_arch_profile_t::arch
ocsd_arch_version_t arch
Definition: ocsd_if_types.h:300
_ocsd_arch_profile_t::profile
ocsd_core_profile_t profile
Definition: ocsd_if_types.h:301
_ocsd_decode_stats
Definition: ocsd_if_types.h:669
_ocsd_decode_stats::version
uint32_t version
Definition: ocsd_if_types.h:670
_ocsd_decode_stats::bad_header_errs
uint32_t bad_header_errs
Definition: ocsd_if_types.h:675
_ocsd_decode_stats::bad_sequence_errs
uint32_t bad_sequence_errs
Definition: ocsd_if_types.h:676
_ocsd_decode_stats::channel_total
uint64_t channel_total
Definition: ocsd_if_types.h:673
_ocsd_decode_stats::channel_unsynced
uint64_t channel_unsynced
Definition: ocsd_if_types.h:674
_ocsd_decode_stats::demux
ocsd_demux_stats_t demux
Definition: ocsd_if_types.h:678
_ocsd_decode_stats::revision
uint16_t revision
Definition: ocsd_if_types.h:671
_ocsd_demux_stats
Definition: ocsd_if_types.h:645
_ocsd_demux_stats::no_id_bytes
uint64_t no_id_bytes
Definition: ocsd_if_types.h:647
_ocsd_demux_stats::valid_id_bytes
uint64_t valid_id_bytes
Definition: ocsd_if_types.h:646
_ocsd_demux_stats::reserved_id_bytes
uint64_t reserved_id_bytes
Definition: ocsd_if_types.h:648
_ocsd_demux_stats::unknown_id_bytes
uint64_t unknown_id_bytes
Definition: ocsd_if_types.h:649
_ocsd_demux_stats::frame_bytes
uint64_t frame_bytes
Definition: ocsd_if_types.h:650
_ocsd_file_mem_region
Definition: ocsd_if_types.h:491
_ocsd_file_mem_region::file_offset
size_t file_offset
Definition: ocsd_if_types.h:492
_ocsd_file_mem_region::region_size
size_t region_size
Definition: ocsd_if_types.h:494
_ocsd_file_mem_region::start_address
ocsd_vaddr_t start_address
Definition: ocsd_if_types.h:493
_ocsd_instr_info
Definition: ocsd_if_types.h:385
_ocsd_instr_info::dsb_dmb_waypoints
uint8_t dsb_dmb_waypoints
Definition: ocsd_if_types.h:391
_ocsd_instr_info::type
ocsd_instr_type type
Definition: ocsd_if_types.h:395
_ocsd_instr_info::thumb_it_conditions
uint8_t thumb_it_conditions
Definition: ocsd_if_types.h:401
_ocsd_instr_info::opcode
uint32_t opcode
Definition: ocsd_if_types.h:390
_ocsd_instr_info::sub_type
ocsd_instr_subtype sub_type
Definition: ocsd_if_types.h:402
_ocsd_instr_info::wfi_wfe_branch
uint8_t wfi_wfe_branch
Definition: ocsd_if_types.h:392
_ocsd_instr_info::is_conditional
uint8_t is_conditional
Definition: ocsd_if_types.h:399
_ocsd_instr_info::next_isa
ocsd_isa next_isa
Definition: ocsd_if_types.h:397
_ocsd_instr_info::instr_size
uint8_t instr_size
Definition: ocsd_if_types.h:398
_ocsd_instr_info::pe_type
ocsd_arch_profile_t pe_type
Definition: ocsd_if_types.h:387
_ocsd_instr_info::isa
ocsd_isa isa
Definition: ocsd_if_types.h:388
_ocsd_instr_info::instr_addr
ocsd_vaddr_t instr_addr
Definition: ocsd_if_types.h:389
_ocsd_instr_info::branch_addr
ocsd_vaddr_t branch_addr
Definition: ocsd_if_types.h:396
_ocsd_instr_info::is_link
uint8_t is_link
Definition: ocsd_if_types.h:400
_ocsd_pe_context
Definition: ocsd_if_types.h:409
_ocsd_pe_context::security_level
ocsd_sec_level security_level
Definition: ocsd_if_types.h:410
_ocsd_pe_context::bits64
uint32_t bits64
Definition: ocsd_if_types.h:415
_ocsd_pe_context::exception_level
ocsd_ex_level exception_level
Definition: ocsd_if_types.h:411
_ocsd_pe_context::vmid_valid
uint32_t vmid_valid
Definition: ocsd_if_types.h:417
_ocsd_pe_context::context_id
uint32_t context_id
Definition: ocsd_if_types.h:412
_ocsd_pe_context::vmid
uint32_t vmid
Definition: ocsd_if_types.h:413
_ocsd_pe_context::el_valid
uint32_t el_valid
Definition: ocsd_if_types.h:418
_ocsd_pe_context::ctxt_id_valid
uint32_t ctxt_id_valid
Definition: ocsd_if_types.h:416
_ocsd_swt_info
Definition: ocsd_if_types.h:611
_ocsd_swt_info::swt_payload_num_packets
uint32_t swt_payload_num_packets
Definition: ocsd_if_types.h:617
_ocsd_swt_info::swt_has_timestamp
uint32_t swt_has_timestamp
Definition: ocsd_if_types.h:619
_ocsd_swt_info::swt_channel_id
uint16_t swt_channel_id
Definition: ocsd_if_types.h:613
_ocsd_swt_info::swt_marker_packet
uint32_t swt_marker_packet
Definition: ocsd_if_types.h:618
_ocsd_swt_info::swt_master_err
uint32_t swt_master_err
Definition: ocsd_if_types.h:621
_ocsd_swt_info::swt_flag_bits
uint32_t swt_flag_bits
Definition: ocsd_if_types.h:627
_ocsd_swt_info::swt_id_valid
uint32_t swt_id_valid
Definition: ocsd_if_types.h:625
_ocsd_swt_info::swt_frequency
uint32_t swt_frequency
Definition: ocsd_if_types.h:624
_ocsd_swt_info::swt_payload_pkt_bitsize
uint32_t swt_payload_pkt_bitsize
Definition: ocsd_if_types.h:616
_ocsd_swt_info::swt_marker_first
uint32_t swt_marker_first
Definition: ocsd_if_types.h:620
_ocsd_swt_info::swt_master_id
uint16_t swt_master_id
Definition: ocsd_if_types.h:612
_ocsd_swt_info::swt_trigger_event
uint32_t swt_trigger_event
Definition: ocsd_if_types.h:623
_ocsd_swt_info::swt_global_err
uint32_t swt_global_err
Definition: ocsd_if_types.h:622