diff options
Diffstat (limited to 'decoder/docs/prog_guide/prog_guide_generic_pkts.md')
-rw-r--r-- | decoder/docs/prog_guide/prog_guide_generic_pkts.md | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/decoder/docs/prog_guide/prog_guide_generic_pkts.md b/decoder/docs/prog_guide/prog_guide_generic_pkts.md index 4a2f5b296c09..aad15b847977 100644 --- a/decoder/docs/prog_guide/prog_guide_generic_pkts.md +++ b/decoder/docs/prog_guide/prog_guide_generic_pkts.md @@ -86,6 +86,8 @@ typedef struct _ocsd_generic_trace_elem { unsync_info_t unsync_eot_info; /* additional information for unsync / end-of-trace packets. */ trace_marker_payload_t sync_marker; /* marker element - sync later element to position in stream */ trace_memtrans_t mem_trans; /* memory transaction packet - transaction event */ + trace_sw_ite_t sw_ite; /* PE sw instrumentation using FEAT_ITE */ + }; const void *ptr_extended_data; /* pointer to extended data buffer (data trace, sw trace payload) / custom structure */ @@ -327,6 +329,7 @@ SW trace packets that have a payload will use the extended_data flag and pointer SW trace packets that include timestamp information will us the `has_ts` flag and fill in the timestamp value. +These packets are generated by memory writes to STM / ITM trace hardware. ### OCSD_GEN_TRC_ELEM_SYNC_MARKER ### __packet fields valid__: `sync_marker` @@ -365,6 +368,19 @@ typedef enum _memtrans_t { } trace_memtrans_t; ~~~ +### OCSD_GEN_TRC_ELEM_INSTRUMENTATION ### +__packet fields valid__: `sw_ite` + +Software instrumentation packets generated by the PE `TRCIT` instruction (on cores with `FEAT_ITE`). + +The `sw_ite` structure has the fields defined below:- + +~~~{.c} +typedef struct _sw_ite_t { + uint8_t el; /* exception level for PE sw instrumentation instruction */ + uint64_t value; /* payload for PE sw instrumentation instruction */ +} trace_sw_ite_t; +~~~ ### OCSD_GEN_TRC_ELEM_CUSTOM ### __packet fields optional__: `extended_data -> ptr_extended_data`,_any others_ |