OpenCSD - CoreSight Trace Decode Library
0.12.1
|
OpenCSD : Standard Types used in the library interfaces. More...
#include <stdint.h>
#include <stddef.h>
#include <inttypes.h>
Go to the source code of this file.
Classes | |
struct | _ocsd_arch_profile_t |
struct | _ocsd_instr_info |
struct | _ocsd_pe_context |
struct | _ocsd_file_mem_region |
struct | _ocsd_swt_info |
Macros | |
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, component specific - top 16 bits. | |
#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 |
Packet Decoder Operation Control Flags | |
common operational flags - bottom 16 bits, component specific - top 16 bits. | |
#define | OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS 0x00000001 |
#define | OCSD_OPFLG_PKTDEC_COMMON (OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS) |
Trace Indexing and Channel IDs | |
#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)) |
typedef uint32_t | ocsd_trc_index_t |
Trace Datapath | |
#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)) |
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 |
Trace Decode component types | |
#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 |
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 |
Trace Decode Arch and Profile | |
#define | OCSD_IS_V8_ARCH(arch) ((arch >= ARCH_V8) && (arch <= ARCH_V8r3)) |
#define | OCSD_MIN_V8_ARCH(arch) (arch >= ARCH_V8) |
#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 |
enum | _ocsd_arch_version { ARCH_UNKNOWN, ARCH_CUSTOM, ARCH_V7, ARCH_V8, ARCH_V8r3 } |
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 |
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 } |
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 } |
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_S = 0x9, OCSD_MEM_SPACE_N = 0x6, OCSD_MEM_SPACE_ANY = 0xF } |
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 |
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. | |
#define | SWT_ID_VALID_MASK (0x1 << 23) |
typedef struct _ocsd_swt_info | ocsd_swt_info_t |
OpenCSD : Standard Types used in the library interfaces.
Definition in file ocsd_if_types.h.