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; };
77 void logAndClearCounts();
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;
104 m_mru[i].st_addr = 0;
105 m_mru[i].valid_len = 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))
140 m_mru[i].valid_len = 0;
141 m_mru[i].st_addr = 0;
147 #endif // ARM_TRC_MEM_ACC_CACHE_H_INCLUDED
const bool enabled_for_size(const uint32_t reqSize) const
enum _ocsd_err_t ocsd_err_t
#define MEM_ACC_CACHE_MRU_SIZE
const bool enabled() const
struct cache_block cache_block_t
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
Error logging interface.This class provides a standard interface to the decoder error logger for all ...
Memory range to access by trace decoder.
void enableCaching(bool bEnable)
#define MEM_ACC_CACHE_PAGE_SIZE
OpenCSD : Standard Types used in the library interfaces.
uint8_t data[MEM_ACC_CACHE_PAGE_SIZE]