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,
ARCH_CUSTOM,
ARCH_V7,
ARCH_V8,
ARCH_V8r3,
} ocsd_arch_version_t;
// macros for arch version comparisons.
#define OCSD_IS_V8_ARCH(arch) ((arch >= ARCH_V8) && (arch <= ARCH_V8r3))
#define OCSD_MIN_V8_ARCH(arch) (arch >= ARCH_V8)
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_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_S = 0x9,
OCSD_MEM_SPACE_N = 0x6,
OCSD_MEM_SPACE_ANY = 0xF,
} 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 0x00000001
#define OCSD_OPFLG_PKTPROC_NOMON_BAD_PKTS 0x00000002
#define OCSD_OPFLG_PKTPROC_ERR_BAD_PKTS 0x00000004
#define OCSD_OPFLG_PKTPROC_UNSYNC_ON_BAD_PKTS 0x00000008
#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_PKTDEC_ERROR_BAD_PKTS 0x00000001
#define OCSD_OPFLG_PKTDEC_COMMON (OCSD_OPFLG_PKTDEC_ERROR_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"
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,
/* 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)
#endif // ARM_OCSD_IF_TYPES_H_INCLUDED
/* End of File opencsd/ocsd_if_types.h */
OCSD_FRM_NONE
Definition: ocsd_if_types.h:227
OCSD_FRM_FSYNC
Definition: ocsd_if_types.h:230
_ocsd_datapath_op_t
_ocsd_datapath_op_t
Definition: ocsd_if_types.h:180
_ocsd_swt_info::swt_has_timestamp
uint32_t swt_has_timestamp
Definition: ocsd_if_types.h:606
OCSD_INSTR_BR_INDIRECT
Definition: ocsd_if_types.h:359
_ocsd_arch_profile_t
Definition: ocsd_if_types.h:297
OCSD_PROTOCOL_CUSTOM_1
Definition: ocsd_if_types.h:561
_ocsd_instr_info
Definition: ocsd_if_types.h:382
OCSD_ERR_TEST_SNAPSHOT_READ
Definition: ocsd_if_types.h:134
ocsd_EL2
Definition: ocsd_if_types.h:350
ocsd_err_t
enum _ocsd_err_t ocsd_err_t
_ocsd_datapath_resp_t
_ocsd_datapath_resp_t
Definition: ocsd_if_types.h:190
OCSD_ERR_RDR_INVALID_INIT
Definition: ocsd_if_types.h:104
ocsd_arch_profile_t
struct _ocsd_arch_profile_t ocsd_arch_profile_t
OCSD_OK
Definition: ocsd_if_types.h:88
ocsd_instr_type
enum _ocsd_instr_type ocsd_instr_type
profile_CortexM
Definition: ocsd_if_types.h:290
profile_CortexR
Definition: ocsd_if_types.h:291
OCSD_OP_RESET
Definition: ocsd_if_types.h:184
_ocsd_arch_profile_t::profile
ocsd_core_profile_t profile
Definition: ocsd_if_types.h:299
_ocsd_pe_context::vmid_valid
uint32_t vmid_valid
Definition: ocsd_if_types.h:414
_ocsd_dcd_tree_src_t
_ocsd_dcd_tree_src_t
Definition: ocsd_if_types.h:238
OCSD_ERR_DFMTR_NOTCONTTRACE
Definition: ocsd_if_types.h:109
ocsd_instr_subtype
enum _ocsd_instr_subtype ocsd_instr_subtype
OCSD_ERR_RET_STACK_OVERFLOW
Definition: ocsd_if_types.h:122
ocsd_isa_tee
Definition: ocsd_if_types.h:329
_ocsd_instr_info::branch_addr
ocsd_vaddr_t branch_addr
Definition: ocsd_if_types.h:393
_ocsd_pe_context::security_level
ocsd_sec_level security_level
Definition: ocsd_if_types.h:407
OCSD_ERR_DCDREG_NAME_REPEAT
Definition: ocsd_if_types.h:137
OCSD_PROTOCOL_ETMV4D
Definition: ocsd_if_types.h:552
OCSD_ERR_TEST_SNAPSHOT_PARSE_INFO
Definition: ocsd_if_types.h:133
_ocsd_instr_info::isa
ocsd_isa isa
Definition: ocsd_if_types.h:385
_ocsd_instr_info::is_conditional
uint8_t is_conditional
Definition: ocsd_if_types.h:396
OCSD_TRC_SRC_FRAME_FORMATTED
Definition: ocsd_if_types.h:239
OCSD_MEM_SPACE_EL1S
Definition: ocsd_if_types.h:429
OCSD_ERR_TEST_SNAPSHOT_PARSE
Definition: ocsd_if_types.h:132
_ocsd_pe_context::bits64
uint32_t bits64
Definition: ocsd_if_types.h:412
ocsd_arch_version_t
enum _ocsd_arch_version ocsd_arch_version_t
ocsd_hndl_err_log_t
unsigned int ocsd_hndl_err_log_t
Definition: ocsd_if_types.h:149
OCSD_ERR_SEV_INFO
Definition: ocsd_if_types.h:170
_ocsd_swt_info::swt_id_valid
uint32_t swt_id_valid
Definition: ocsd_if_types.h:612
ocsd_instr_info
struct _ocsd_instr_info ocsd_instr_info
OCSD_PROTOCOL_ETMV4I
Definition: ocsd_if_types.h:551
ocsd_hndl_rdr_t
unsigned int ocsd_hndl_rdr_t
Definition: ocsd_if_types.h:148
OCSD_S_INSTR_V8_RET
Definition: ocsd_if_types.h:371
OCSD_S_INSTR_BR_LINK
Definition: ocsd_if_types.h:370
ocsd_EL_unknown
Definition: ocsd_if_types.h:347
OCSD_PROTOCOL_CUSTOM_3
Definition: ocsd_if_types.h:563
_ocsd_swt_info::swt_master_err
uint32_t swt_master_err
Definition: ocsd_if_types.h:608
OCSD_MEM_SPACE_EL1N
Definition: ocsd_if_types.h:430
OCSD_ERR_MEM_ACC_RANGE_INVALID
Definition: ocsd_if_types.h:129
_ocsd_pe_context::ctxt_id_valid
uint32_t ctxt_id_valid
Definition: ocsd_if_types.h:413
ARCH_V7
Definition: ocsd_if_types.h:278
OCSD_PROTOCOL_CUSTOM_6
Definition: ocsd_if_types.h:566
OCSD_ERR_MEM_ACC_FILE_NOT_FOUND
Definition: ocsd_if_types.h:127
ocsd_isa_jazelle
Definition: ocsd_if_types.h:330
_ocsd_swt_info::swt_marker_packet
uint32_t swt_marker_packet
Definition: ocsd_if_types.h:605
_ocsd_pe_context::el_valid
uint32_t el_valid
Definition: ocsd_if_types.h:415
_ocsd_instr_type
_ocsd_instr_type
Definition: ocsd_if_types.h:356
ocsd_EL1
Definition: ocsd_if_types.h:349
OCSD_PROTOCOL_UNKNOWN
Definition: ocsd_if_types.h:547
OCSD_ERR_FAIL
Definition: ocsd_if_types.h:89
_ocsd_ex_level
_ocsd_ex_level
Definition: ocsd_if_types.h:345
_ocsd_instr_info::opcode
uint32_t opcode
Definition: ocsd_if_types.h:387
OCSD_RESP_FATAL_INVALID_DATA
Definition: ocsd_if_types.h:200
_ocsd_instr_info::thumb_it_conditions
uint8_t thumb_it_conditions
Definition: ocsd_if_types.h:398
OCSD_ERR_UNSUPP_DECODE_PKT
Definition: ocsd_if_types.h:118
OCSD_ERR_INVALID_PCKT_HDR
Definition: ocsd_if_types.h:113
profile_CortexA
Definition: ocsd_if_types.h:292
OCSD_PROTOCOL_END
Definition: ocsd_if_types.h:571
ARCH_UNKNOWN
Definition: ocsd_if_types.h:276
OCSD_ERR_ATTACH_INVALID_PARAM
Definition: ocsd_if_types.h:100
_ocsd_pe_context::context_id
uint32_t context_id
Definition: ocsd_if_types.h:409
OCSD_PROTOCOL_CUSTOM_5
Definition: ocsd_if_types.h:565
OCSD_ERR_SEV_NONE
Definition: ocsd_if_types.h:167
_ocsd_instr_info::type
ocsd_instr_type type
Definition: ocsd_if_types.h:392
OCSD_RESP_ERR_WAIT
Definition: ocsd_if_types.h:196
OCSD_FRM_ID_DATA
Definition: ocsd_if_types.h:231
_ocsd_mem_space_acc_t
_ocsd_mem_space_acc_t
Definition: ocsd_if_types.h:428
OCSD_PROTOCOL_STM
Definition: ocsd_if_types.h:554
ocsd_vaddr_t
uint64_t ocsd_vaddr_t
Definition: ocsd_if_types.h:308
OCSD_ERR_MEM_ACC_OVERLAP
Definition: ocsd_if_types.h:126
_ocsd_core_profile
_ocsd_core_profile
Definition: ocsd_if_types.h:288
profile_Custom
Definition: ocsd_if_types.h:293
OCSD_ERR_BAD_DECODE_PKT
Definition: ocsd_if_types.h:119
_ocsd_instr_subtype
_ocsd_instr_subtype
Definition: ocsd_if_types.h:368
_ocsd_instr_info::is_link
uint8_t is_link
Definition: ocsd_if_types.h:397
_ocsd_swt_info
Definition: ocsd_if_types.h:598
OCSD_ERR_FILE_ERROR
Definition: ocsd_if_types.h:96
OCSD_PROTOCOL_CUSTOM_4
Definition: ocsd_if_types.h:564
OCSD_PROTOCOL_CUSTOM_2
Definition: ocsd_if_types.h:562
OCSD_TRC_SRC_SINGLE
Definition: ocsd_if_types.h:240
_ocsd_instr_info::instr_addr
ocsd_vaddr_t instr_addr
Definition: ocsd_if_types.h:386
_ocsd_swt_info::swt_master_id
uint16_t swt_master_id
Definition: ocsd_if_types.h:599
OCSD_ERR_SEV_WARN
Definition: ocsd_if_types.h:169
OCSD_S_INSTR_V8_ERET
Definition: ocsd_if_types.h:372
_ocsd_file_mem_region::region_size
size_t region_size
Definition: ocsd_if_types.h:490
ocsd_EL0
Definition: ocsd_if_types.h:348
OCSD_ERR_UNSUPPORTED_ISA
Definition: ocsd_if_types.h:116
OCSD_ERR_BAD_PACKET_SEQ
Definition: ocsd_if_types.h:112
OCSD_RESP_FATAL_INVALID_OP
Definition: ocsd_if_types.h:198
OCSD_ERR_ATTACH_COMP_NOT_FOUND
Definition: ocsd_if_types.h:101
_ocsd_instr_info::instr_size
uint8_t instr_size
Definition: ocsd_if_types.h:395
OCSD_PROTOCOL_CUSTOM_9
Definition: ocsd_if_types.h:569
_ocsd_file_mem_region::start_address
ocsd_vaddr_t start_address
Definition: ocsd_if_types.h:489
OCSD_INSTR_OTHER
Definition: ocsd_if_types.h:357
OCSD_ERR_TEST_SS_TO_DECODER
Definition: ocsd_if_types.h:135
OCSD_RESP_WARN_CONT
Definition: ocsd_if_types.h:192
_ocsd_instr_info::dsb_dmb_waypoints
uint8_t dsb_dmb_waypoints
Definition: ocsd_if_types.h:388
OCSD_RESP_WAIT
Definition: ocsd_if_types.h:194
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:459
OCSD_ERR_DCDREG_NAME_UNKNOWN
Definition: ocsd_if_types.h:138
ARCH_V8r3
Definition: ocsd_if_types.h:280
ocsd_isa_thumb2
Definition: ocsd_if_types.h:327
_ocsd_instr_info::wfi_wfe_branch
uint8_t wfi_wfe_branch
Definition: ocsd_if_types.h:389
ocsd_isa_custom
Definition: ocsd_if_types.h:331
OCSD_ERR_MEM
Definition: ocsd_if_types.h:90
OCSD_MEM_SPACE_EL2
Definition: ocsd_if_types.h:431
profile_Unknown
Definition: ocsd_if_types.h:289
ARCH_V8
Definition: ocsd_if_types.h:279
OCSD_RESP_WARN_WAIT
Definition: ocsd_if_types.h:195
_ocsd_swt_info::swt_frequency
uint32_t swt_frequency
Definition: ocsd_if_types.h:611
OCSD_INSTR_DSB_DMB
Definition: ocsd_if_types.h:361
OCSD_ERR_INVALID_ID
Definition: ocsd_if_types.h:92
OCSD_ERR_ATTACH_TOO_MANY
Definition: ocsd_if_types.h:99
ocsd_isa_aarch64
Definition: ocsd_if_types.h:328
_ocsd_swt_info::swt_marker_first
uint32_t swt_marker_first
Definition: ocsd_if_types.h:607
_ocsd_pe_context
Definition: ocsd_if_types.h:406
ocsd_isa_unknown
Definition: ocsd_if_types.h:332
_ocsd_err_t
_ocsd_err_t
Definition: ocsd_if_types.h:85
OCSD_MEM_SPACE_EL3
Definition: ocsd_if_types.h:432
_ocsd_instr_info::next_isa
ocsd_isa next_isa
Definition: ocsd_if_types.h:394
ARCH_CUSTOM
Definition: ocsd_if_types.h:277
OCSD_ERR_INVALID_PARAM_VAL
Definition: ocsd_if_types.h:94
_ocsd_swt_info::swt_payload_pkt_bitsize
uint32_t swt_payload_pkt_bitsize
Definition: ocsd_if_types.h:603
ocsd_trc_index_t
uint32_t ocsd_trc_index_t
Definition: ocsd_if_types.h:67
ocsd_EL3
Definition: ocsd_if_types.h:351
OCSD_PROTOCOL_CUSTOM_0
Definition: ocsd_if_types.h:560
OCSD_S_INSTR_NONE
Definition: ocsd_if_types.h:369
OCSD_ERR_RDR_FILE_NOT_FOUND
Definition: ocsd_if_types.h:103
OCSD_ERR_DFMTR_BAD_FHSYNC
Definition: ocsd_if_types.h:110
ocsd_file_mem_region_t
struct _ocsd_file_mem_region ocsd_file_mem_region_t
OCSD_PROTOCOL_CUSTOM_8
Definition: ocsd_if_types.h:568
OCSD_RESP_CONT
Definition: ocsd_if_types.h:191
OCSD_MEM_SPACE_S
Definition: ocsd_if_types.h:433
ocsd_datapath_op_t
enum _ocsd_datapath_op_t ocsd_datapath_op_t
ocsd_sec_level
enum _ocsd_sec_level ocsd_sec_level
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:483
ocsd_swt_info_t
struct _ocsd_swt_info ocsd_swt_info_t
_ocsd_isa
_ocsd_isa
Definition: ocsd_if_types.h:324
OCSD_PROTOCOL_PTM
Definition: ocsd_if_types.h:553
OCSD_OP_DATA
Definition: ocsd_if_types.h:181
OCSD_ERR_BAD_HANDLE
Definition: ocsd_if_types.h:93
_ocsd_swt_info::swt_trigger_event
uint32_t swt_trigger_event
Definition: ocsd_if_types.h:610
_ocsd_swt_info::swt_global_err
uint32_t swt_global_err
Definition: ocsd_if_types.h:609
_ocsd_file_mem_region
Definition: ocsd_if_types.h:487
OCSD_OP_EOT
Definition: ocsd_if_types.h:182
OCSD_FRM_HSYNC
Definition: ocsd_if_types.h:229
OCSD_S_INSTR_V7_IMPLIED_RET
Definition: ocsd_if_types.h:373
OCSD_ERR_INVALID_PARAM_TYPE
Definition: ocsd_if_types.h:95
_ocsd_instr_info::pe_type
ocsd_arch_profile_t pe_type
Definition: ocsd_if_types.h:384
OCSD_ERR_LAST
Definition: ocsd_if_types.h:144
OCSD_ERR_DCDREG_TYPE_UNKNOWN
Definition: ocsd_if_types.h:139
_ocsd_instr_info::sub_type
ocsd_instr_subtype sub_type
Definition: ocsd_if_types.h:399
OCSD_ERR_MEM_NACC
Definition: ocsd_if_types.h:121
_ocsd_swt_info::swt_payload_num_packets
uint32_t swt_payload_num_packets
Definition: ocsd_if_types.h:604
OCSD_MEM_SPACE_ANY
Definition: ocsd_if_types.h:435
OCSD_ERR_DATA_DECODE_FATAL
Definition: ocsd_if_types.h:107
ocsd_sec_secure
Definition: ocsd_if_types.h:339
OCSD_ERR_PKT_INTERP_FAIL
Definition: ocsd_if_types.h:114
OCSD_ERR_NOT_INIT
Definition: ocsd_if_types.h:91
OCSD_OP_FLUSH
Definition: ocsd_if_types.h:183
OCSD_RESP_FATAL_NOT_INIT
Definition: ocsd_if_types.h:197
OCSD_ERR_COMMIT_PKT_OVERRUN
Definition: ocsd_if_types.h:120
OCSD_RESP_FATAL_SYS_ERR
Definition: ocsd_if_types.h:201
ocsd_dcd_tree_src_t
enum _ocsd_dcd_tree_src_t ocsd_dcd_tree_src_t
_rcdtl_rawframe_elem_t
_rcdtl_rawframe_elem_t
Definition: ocsd_if_types.h:226
OCSD_ERR_RDR_NO_DECODER
Definition: ocsd_if_types.h:105
ocsd_mem_space_acc_t
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
OCSD_INSTR_ISB
Definition: ocsd_if_types.h:360
_ocsd_arch_version
_ocsd_arch_version
Definition: ocsd_if_types.h:275
ocsd_isa_arm
Definition: ocsd_if_types.h:326
OCSD_ERR_DCDREG_TOOMANY
Definition: ocsd_if_types.h:140
OCSD_ERR_MEM_ACC_BAD_LEN
Definition: ocsd_if_types.h:130
OCSD_ERR_HW_CFG_UNSUPP
Definition: ocsd_if_types.h:117
OCSD_PROTOCOL_BUILTIN_END
Definition: ocsd_if_types.h:557
_ocsd_swt_info::swt_channel_id
uint16_t swt_channel_id
Definition: ocsd_if_types.h:600
_ocsd_sec_level
_ocsd_sec_level
Definition: ocsd_if_types.h:337
ocsd_isa
enum _ocsd_isa ocsd_isa
OCSD_ERR_NO_PROTOCOL
Definition: ocsd_if_types.h:97
ocsd_datapath_resp_t
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
OCSD_RESP_FATAL_INVALID_PARAM
Definition: ocsd_if_types.h:199
OCSD_MEM_SPACE_N
Definition: ocsd_if_types.h:434
OCSD_RESP_ERR_CONT
Definition: ocsd_if_types.h:193
OCSD_ERR_DCDT_NO_FORMATTER
Definition: ocsd_if_types.h:124
_ocsd_file_mem_region::file_offset
size_t file_offset
Definition: ocsd_if_types.h:488
_ocsd_pe_context::vmid
uint32_t vmid
Definition: ocsd_if_types.h:410
_ocsd_swt_info::swt_flag_bits
uint32_t swt_flag_bits
Definition: ocsd_if_types.h:614
ocsd_ex_level
enum _ocsd_ex_level ocsd_ex_level
ocsd_core_profile_t
enum _ocsd_core_profile ocsd_core_profile_t
ocsd_trace_protocol_t
enum _ocsd_trace_protocol_t ocsd_trace_protocol_t
ocsd_rawframe_elem_t
enum _rcdtl_rawframe_elem_t ocsd_rawframe_elem_t
OCSD_FRM_PACKED
Definition: ocsd_if_types.h:228
OCSD_ERR_MEM_ACC_FILE_DIFF_RANGE
Definition: ocsd_if_types.h:128
OCSD_INSTR_BR
Definition: ocsd_if_types.h:358
OCSD_PROTOCOL_ETMV3
Definition: ocsd_if_types.h:550
ocsd_err_severity_t
enum _ocsd_err_severity_t ocsd_err_severity_t
OCSD_PROTOCOL_CUSTOM_7
Definition: ocsd_if_types.h:567
ocsd_sec_nonsecure
Definition: ocsd_if_types.h:340
OCSD_INSTR_WFI_WFE
Definition: ocsd_if_types.h:362
_ocsd_arch_profile_t::arch
ocsd_arch_version_t arch
Definition: ocsd_if_types.h:298
OCSD_ERR_SEV_ERROR
Definition: ocsd_if_types.h:168
OCSD_ERR_DCD_INTERFACE_UNUSED
Definition: ocsd_if_types.h:142
_ocsd_pe_context::exception_level
ocsd_ex_level exception_level
Definition: ocsd_if_types.h:408
ocsd_pe_context
struct _ocsd_pe_context ocsd_pe_context