Loading...
Searching...
No Matches
_ocsd_generic_trace_elem Struct Reference
OpenCSD Library : Generic Trace Elements

`#include <trc_gen_elem_types.h>`

Inheritance diagram for _ocsd_generic_trace_elem:
[legend]
Collaboration diagram for _ocsd_generic_trace_elem:
[legend]

## Public Attributes

ocsd_gen_trc_elem_t | elem_type
ocsd_isa | isa
ocsd_vaddr_t | st_addr
ocsd_vaddr_t | en_addr
ocsd_pe_context | context
uint64_t | timestamp
uint32_t | cycle_count
ocsd_instr_type | last_i_type
ocsd_instr_subtype | last_i_subtype
union { |
struct { |
uint32_t last_instr_exec:1 |
uint32_t last_instr_sz:3 |
uint32_t has_cc:1 |
uint32_t cpu_freq_change:1 |
uint32_t excep_ret_addr:1 |
uint32_t excep_data_marker:1 |
uint32_t extended_data:1 |
uint32_t has_ts:1 |
uint32_t last_instr_cond:1 |
uint32_t excep_ret_addr_br_tgt:1 |
uint32_t excep_M_tail_chain:1 |
} |  |
uint32_t flag_bits |
}; |  |
| per element flags
union { |
uint32_t exception_number |
trace_event_t trace_event |
trace_on_reason_t trace_on_reason |
ocsd_swt_info_t sw_trace_info |
uint32_t num_instr_range |
unsync_info_t unsync_eot_info |
trace_marker_payload_t sync_marker |
trace_memtrans_t mem_trans |
trace_sw_ite_t sw_ite |
}; |  |
| packet specific payloads
const void * | ptr_extended_data

## Detailed Description

Definition at line 114 of file trc_gen_elem_types.h.

## Member Data Documentation

## [union]

union { ... } _ocsd_generic_trace_elem

per element flags

## [union]

union { ... } _ocsd_generic_trace_elem

packet specific payloads

## context

ocsd_pe_context _ocsd_generic_trace_elem::context

PE Context

Definition at line 119 of file trc_gen_elem_types.h.

## cpu_freq_change

uint32_t _ocsd_generic_trace_elem::cpu_freq_change

1 if this packet indicates a change in CPU frequency

Definition at line 131 of file trc_gen_elem_types.h.

## cycle_count

uint32_t _ocsd_generic_trace_elem::cycle_count

cycle count for explicit cycle count element, or count for element with associated cycle count

Definition at line 121 of file trc_gen_elem_types.h.

## elem_type

ocsd_gen_trc_elem_t _ocsd_generic_trace_elem::elem_type

Element type - remaining data interpreted according to this value

Definition at line 115 of file trc_gen_elem_types.h.

## en_addr

ocsd_vaddr_t _ocsd_generic_trace_elem::en_addr

end address (exclusive) for instruction execution range.

Definition at line 118 of file trc_gen_elem_types.h.

## excep_data_marker

uint32_t _ocsd_generic_trace_elem::excep_data_marker

1 if the exception entry packet is a data push marker only, with no address information (used typically in v7M trace for marking data pushed onto stack)

Definition at line 133 of file trc_gen_elem_types.h.

## excep_M_tail_chain

uint32_t _ocsd_generic_trace_elem::excep_M_tail_chain

1 if the exception is an M class exception with no pref ret address - tail chained or similar

Definition at line 138 of file trc_gen_elem_types.h.

## excep_ret_addr

uint32_t _ocsd_generic_trace_elem::excep_ret_addr

1 if en_addr is the preferred exception return address on exception packet type

Definition at line 132 of file trc_gen_elem_types.h.

## excep_ret_addr_br_tgt

uint32_t _ocsd_generic_trace_elem::excep_ret_addr_br_tgt

1 if exception return address (en_addr) is also the target of a taken branch addr from the previous range.

Definition at line 137 of file trc_gen_elem_types.h.

## exception_number

uint32_t _ocsd_generic_trace_elem::exception_number

exception number for exception type packets

Definition at line 145 of file trc_gen_elem_types.h.

## extended_data

uint32_t _ocsd_generic_trace_elem::extended_data

1 if the packet extended data pointer is valid. Allows packet extensions for custom decoders, or additional data payloads for data trace.

Definition at line 134 of file trc_gen_elem_types.h.

## flag_bits

uint32_t _ocsd_generic_trace_elem::flag_bits

Definition at line 140 of file trc_gen_elem_types.h.

## has_cc

uint32_t _ocsd_generic_trace_elem::has_cc

1 if this packet has a valid cycle count included (e.g. cycle count included as part of instruction range packet, always 1 for pure cycle count packet.

Definition at line 130 of file trc_gen_elem_types.h.

## has_ts

uint32_t _ocsd_generic_trace_elem::has_ts

1 if the packet has an associated timestamp - e.g. SW/STM trace TS+Payload as a single packet

Definition at line 135 of file trc_gen_elem_types.h.

## isa

ocsd_isa _ocsd_generic_trace_elem::isa

instruction set for executed instructions

Definition at line 116 of file trc_gen_elem_types.h.

## last_i_subtype

ocsd_instr_subtype _ocsd_generic_trace_elem::last_i_subtype

sub type for last instruction in range

Definition at line 123 of file trc_gen_elem_types.h.

## last_i_type

ocsd_instr_type _ocsd_generic_trace_elem::last_i_type

Last instruction type if instruction execution range

Definition at line 122 of file trc_gen_elem_types.h.

## last_instr_cond

uint32_t _ocsd_generic_trace_elem::last_instr_cond

1 if the last instruction was conditional

Definition at line 136 of file trc_gen_elem_types.h.

## last_instr_exec

uint32_t _ocsd_generic_trace_elem::last_instr_exec

1 if last instruction in range was executed;

Definition at line 128 of file trc_gen_elem_types.h.

## last_instr_sz

uint32_t _ocsd_generic_trace_elem::last_instr_sz

size of last instruction in bytes (2/4)

Definition at line 129 of file trc_gen_elem_types.h.

## mem_trans

trace_memtrans_t _ocsd_generic_trace_elem::mem_trans

memory transaction packet - transaction event

Definition at line 152 of file trc_gen_elem_types.h.

## num_instr_range

uint32_t _ocsd_generic_trace_elem::num_instr_range

number of instructions covered by range packet (for T32 this cannot be calculated from en-st/i_size)

Definition at line 149 of file trc_gen_elem_types.h.

## ptr_extended_data

const void* _ocsd_generic_trace_elem::ptr_extended_data

pointer to extended data buffer (data trace, sw trace payload) / custom structure

Definition at line 156 of file trc_gen_elem_types.h.

## st_addr

ocsd_vaddr_t _ocsd_generic_trace_elem::st_addr

start address for instruction execution range / inaccessible code address / data address

Definition at line 117 of file trc_gen_elem_types.h.

## sw_ite

trace_sw_ite_t _ocsd_generic_trace_elem::sw_ite

PE sw instrumentation using FEAT_ITE

Definition at line 153 of file trc_gen_elem_types.h.

## sw_trace_info

ocsd_swt_info_t _ocsd_generic_trace_elem::sw_trace_info

software trace packet info

Definition at line 148 of file trc_gen_elem_types.h.

## sync_marker

trace_marker_payload_t _ocsd_generic_trace_elem::sync_marker

marker element - sync later element to position in stream

Definition at line 151 of file trc_gen_elem_types.h.

## timestamp

uint64_t _ocsd_generic_trace_elem::timestamp

timestamp value for TS element type

Definition at line 120 of file trc_gen_elem_types.h.

## trace_event

trace_event_t _ocsd_generic_trace_elem::trace_event

Trace event - trigger etc

Definition at line 146 of file trc_gen_elem_types.h.

## trace_on_reason

trace_on_reason_t _ocsd_generic_trace_elem::trace_on_reason

reason for the trace on packet

Definition at line 147 of file trc_gen_elem_types.h.

## unsync_eot_info

unsync_info_t _ocsd_generic_trace_elem::unsync_eot_info

additional information for unsync / end-of-trace packets.

Definition at line 150 of file trc_gen_elem_types.h.

The documentation for this struct was generated from the following file:

- /build/libopencsd-8WV101/libopencsd-1.5.5/decoder/include/opencsd/trc_gen_elem_types.h