aboutsummaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
authorMike Leach <mike.leach@linaro.org>2019-11-11 15:58:27 +0000
committerMike Leach <mike.leach@linaro.org>2021-01-08 17:05:25 +0000
commit80e7c9d24e5da569c2008069038c26de772e2aa9 (patch)
treea8897382eb95841900c106b841da68826d6d05a7 /decoder
parent07ee5af9580e8b72beea539cff1c202ec0ac5767 (diff)
downloadOpenCSD-80e7c9d24e5da569c2008069038c26de772e2aa9.tar.gz
opencsd: ete: ETE permits event packets before first Trace Info
Add extension to the processing loop to allow for Event packets to be processed before the first Trace Info is seen. Signed-off-by: Mike Leach <mike.leach@linaro.org>
Diffstat (limited to 'decoder')
-rw-r--r--decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp b/decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp
index f677e3b..eed9eda 100644
--- a/decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp
+++ b/decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp
@@ -101,6 +101,14 @@ ocsd_datapath_resp_t TrcPktDecodeEtmV4I::processPacket()
m_curr_state = DECODE_PKTS;
m_return_stack.flush();
}
+ /* ETE spec allows early event packets. */
+ else if ((m_config->MajVersion() >= 0x5) &&
+ (m_curr_packet_in->getType() == ETM4_PKT_I_EVENT))
+ {
+ err = decodePacket();
+ if (err)
+ resp = OCSD_RESP_FATAL_INVALID_DATA;
+ }
bPktDone = true;
break;