35#ifndef __MEM_RUBY_SYSTEM_CACHERECORDER_HH__
36#define __MEM_RUBY_SYSTEM_CACHERECORDER_HH__
44#include "mem/ruby/protocol/RubyRequestType.hh"
70 void print(std::ostream& out)
const;
80 uint64_t uncompressed_trace_size,
82 uint64_t block_size_bytes);
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
uint64_t aggregateRecords(uint8_t **data, uint64_t size)
uint64_t getNumRecords() const
void addRecord(int cntrl, Addr data_addr, Addr pc_addr, RubyRequestType type, Tick time, DataBlock &data)
uint64_t m_records_flushed
CacheRecorder & operator=(const CacheRecorder &obj)
uint64_t m_block_size_bytes
std::vector< TraceRecord * > m_records
void enqueueNextFetchRequest()
Function for fetching warming up the memory and the caches.
CacheRecorder(const CacheRecorder &obj)
uint8_t * m_uncompressed_trace
std::vector< Sequencer * > m_seq_map
void enqueueNextFlushRequest()
Function for flushing the memory contents of the caches to the main memory.
uint64_t m_uncompressed_trace_size
Class for recording cache contents.
void print(std::ostream &out) const
bool compareTraceRecords(const TraceRecord *n1, const TraceRecord *n2)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::ostream & operator<<(std::ostream &os, const ArmSemihosting::InPlaceArg &ipa)
uint64_t Tick
Tick count type.