path: root/decoder/docs/prog_guide/prog_guide_generic_pkts.md
diff options
Diffstat (limited to 'decoder/docs/prog_guide/prog_guide_generic_pkts.md')
1 files changed, 14 insertions, 1 deletions
diff --git a/decoder/docs/prog_guide/prog_guide_generic_pkts.md b/decoder/docs/prog_guide/prog_guide_generic_pkts.md
index 9f69aacad44e..e4d50b79fc80 100644
--- a/decoder/docs/prog_guide/prog_guide_generic_pkts.md
+++ b/decoder/docs/prog_guide/prog_guide_generic_pkts.md
@@ -83,7 +83,7 @@ typedef struct _ocsd_generic_trace_elem {
trace_on_reason_t trace_on_reason; /* reason for the trace on packet */
ocsd_swt_info_t sw_trace_info; /* software trace packet info */
uint32_t num_instr_range; /* number of instructions covered by range packet (for T32 this cannot be calculated from en-st/i_size) */
+ unsync_info_t unsync_eot_info; /* additional information for unsync / end-of-trace packets. */
const void *ptr_extended_data; /* pointer to extended data buffer (data trace, sw trace payload) / custom structure */
@@ -142,6 +142,19 @@ __ETMv3, PTM__ : These protocols can output a cycle count directly as part of th
the trace range. In this case `has_cc` will be 1 and `cycle_count` will be valid.
+__packet fields valid__: `isa, st_addr, en_addr, num_instr_range`
+`num_instr_range` represents the number of instructions executed in this range, but there is incomplete information
+as to program execution path from start to end of range.
+If `num_instr` is 0, then an unknown number of instructions were executed between the start and end of the range.
+`st_addr` represents the start of execution represented by this packet.
+`en_addr` represents the address where execution will continue from after the instructions represented by this packet.
+`isa` represents the ISA for the instruction at `en_addr`.
+Used when ETMv4 Q elements are being traced.
__packet fields valid__: `st_addr`