diff options
author | Mike Leach <mike.leach@linaro.org> | 2022-02-09 12:28:47 +0000 |
---|---|---|
committer | Mike Leach <mike.leach@linaro.org> | 2022-02-09 12:28:47 +0000 |
commit | a7b77aa0ec3fbe3a79bd23aa66bf08fa2d90675f (patch) | |
tree | 456873fbacc71ab4199357160c32d3fcc95992c9 /decoder/include | |
parent | dac554d62d514b202174506995afc0e109ef3fea (diff) | |
download | OpenCSD-a7b77aa0ec3fbe3a79bd23aa66bf08fa2d90675f.tar.gz |
opencsd: memaccess: Allow memory accessors to have cache invalidated by decoder.
Adds interface to allow decoders to invalidate any cacheing in the memory accessor objects.
Typically used when a context trace element may have changed the memory map.
Signed-off-by: Mike Leach <mike.leach@linaro.org>
Diffstat (limited to 'decoder/include')
-rw-r--r-- | decoder/include/interfaces/trc_tgt_mem_access_i.h | 8 | ||||
-rw-r--r-- | decoder/include/mem_acc/trc_mem_acc_mapper.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/decoder/include/interfaces/trc_tgt_mem_access_i.h b/decoder/include/interfaces/trc_tgt_mem_access_i.h index effc9b5..68a4e10 100644 --- a/decoder/include/interfaces/trc_tgt_mem_access_i.h +++ b/decoder/include/interfaces/trc_tgt_mem_access_i.h @@ -83,6 +83,14 @@ public: const ocsd_mem_space_acc_t mem_space, uint32_t *num_bytes, uint8_t *p_buffer) = 0; + + /*! + * Invalidate any caching that the memory accessor functions are using. + * Generally called when a memory context changes in the trace. + * + * @param cs_trace_id : protocol source trace ID. + */ + virtual void InvalidateMemAccCache(const uint8_t cs_trace_id) = 0; }; diff --git a/decoder/include/mem_acc/trc_mem_acc_mapper.h b/decoder/include/mem_acc/trc_mem_acc_mapper.h index a700e9d..4a08498 100644 --- a/decoder/include/mem_acc/trc_mem_acc_mapper.h +++ b/decoder/include/mem_acc/trc_mem_acc_mapper.h @@ -61,6 +61,8 @@ public: uint32_t *num_bytes, uint8_t *p_buffer); + virtual void InvalidateMemAccCache(const uint8_t cs_trace_id); + // mapper memory area configuration interface // add an accessor to this map |