35 #ifndef ARM_TRC_MEM_ACC_CACHE_H_INCLUDED
36 #define ARM_TRC_MEM_ACC_CACHE_H_INCLUDED
41 #define MEM_ACC_CACHE_PAGE_SIZE 256
42 #define MEM_ACC_CACHE_MRU_SIZE 12
66 const bool enabled()
const {
return m_bCacheEnabled; };
80 bool blockInCache(
const ocsd_vaddr_t address,
const uint32_t reqBytes);
81 bool blockInPage(
const ocsd_vaddr_t address,
const uint32_t reqBytes);
82 void logMsg(
const std::string &szMsg);
86 int m_mru_next_new = 0;
87 bool m_bCacheEnabled =
false;
89 #ifdef LOG_CACHE_STATS
91 uint32_t m_misses = 0;
106 #ifdef LOG_CACHE_STATS
113 inline bool TrcMemAccCache::blockInPage(
const ocsd_vaddr_t address,
const uint32_t reqBytes)
115 if ((m_mru[m_mru_idx].st_addr <= address) &&
116 m_mru[m_mru_idx].st_addr + m_mru[m_mru_idx].valid_len >= (address + reqBytes))
121 inline bool TrcMemAccCache::blockInCache(
const ocsd_vaddr_t address,
const uint32_t reqBytes)
126 if (blockInPage(address, reqBytes))
const bool enabled_for_size(const uint32_t reqSize) const
ocsd_err_t readBytesFromCache(TrcMemAccessorBase *p_accessor, const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint8_t trcID, uint32_t *numBytes, uint8_t *byteBuffer)
const bool enabled() const
void setErrorLog(ITraceErrorLog *log)
void enableCaching(bool bEnable)
Memory range to access by trace decoder.
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
enum _ocsd_err_t ocsd_err_t
OpenCSD : Standard Types used in the library interfaces.
uint8_t data[MEM_ACC_CACHE_PAGE_SIZE]
#define MEM_ACC_CACHE_PAGE_SIZE
struct cache_block cache_block_t
#define MEM_ACC_CACHE_MRU_SIZE