diff options
author | Mike Leach <mike.leach@linaro.org> | 2022-02-09 12:31:09 +0000 |
---|---|---|
committer | Mike Leach <mike.leach@linaro.org> | 2022-02-09 12:31:09 +0000 |
commit | db97bbcc2015b8b4a9a0194961ca4223097d8958 (patch) | |
tree | 0950026d739940317fec605dee9140a881e51524 | |
parent | a7b77aa0ec3fbe3a79bd23aa66bf08fa2d90675f (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.h | 9 |
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> |