aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Leach <mike.leach@linaro.org>2022-02-09 12:31:09 +0000
committerMike Leach <mike.leach@linaro.org>2022-02-09 12:31:09 +0000
commitdb97bbcc2015b8b4a9a0194961ca4223097d8958 (patch)
tree0950026d739940317fec605dee9140a881e51524
parenta7b77aa0ec3fbe3a79bd23aa66bf08fa2d90675f (diff)
opencsd: decode: Update decoder base to implement memory accessor invalidation.
Add an interface function to implement a call to the memory accessor that invalidates any caching in the accessor object. Signed-off-by: Mike Leach <mike.leach@linaro.org>
-rw-r--r--decoder/include/common/trc_pkt_decode_base.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/decoder/include/common/trc_pkt_decode_base.h b/decoder/include/common/trc_pkt_decode_base.h
index da702068f372..24ea2b05a6f9 100644
--- a/decoder/include/common/trc_pkt_decode_base.h
+++ b/decoder/include/common/trc_pkt_decode_base.h
@@ -96,6 +96,7 @@ protected:
/* target access */
ocsd_err_t accessMemory(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, uint32_t *num_bytes, uint8_t *p_buffer);
+ ocsd_err_t invalidateMemAccCache();
/* instruction decode */
ocsd_err_t instrDecode(ocsd_instr_info *instr_info);
@@ -180,6 +181,14 @@ inline ocsd_err_t TrcPktDecodeI::accessMemory(const ocsd_vaddr_t address, const
return OCSD_ERR_DCD_INTERFACE_UNUSED;
}
+inline ocsd_err_t TrcPktDecodeI::invalidateMemAccCache()
+{
+ if (!m_uses_memaccess)
+ return OCSD_ERR_DCD_INTERFACE_UNUSED;
+ m_mem_access.first()->InvalidateMemAccCache(getCoreSightTraceID());
+ return OCSD_OK;
+}
+
/**********************************************************************/
template <class P, class Pc>
class TrcPktDecodeBase : public TrcPktDecodeI, public IPktDataIn<P>