Go to the documentation of this file.
39 #include "debug/AMDGPUDevice.hh"
48 std::ifstream tracefile(trace_file);
49 std::string line,
token;
59 while (std::getline(tracefile, line)) {
60 std::stringstream
l(line);
63 while (std::getline(
l,
token,
' '))
64 tokens.push_back(
token);
89 ". Progress is: %#f\n",
offset, barnum,
100 pkt->
setUintX(value, ByteOrder::little);
112 "BAR %#x. Progress is: %#f\n",
offset, barnum,
struct gem5::AMDMMIOReader::MmioTrace mtrace
bool isRelevant(std::vector< std::string > tokens)
uint64_t trace_final_index
void writeFromTrace(PacketPtr pkt, int barnum, Addr offset)
Get the next MMIO write from the trace file to an offset in a BAR and compare the value with the data...
void readMMIOTrace(std::string trace_file)
Read an MMIO trace gathered from a real system and place the MMIO values read and written into the MM...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Device model for an AMD GPU.
bool traceIsRead(std::vector< std::string > tokens) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void traceParseTokens(std::vector< std::string > tokens)
trace_BAR_t trace_BARs[6]
void readFromTrace(PacketPtr pkt, int barnum, Addr offset)
Get the next MMIO read from the trace file to an offset in a BAR and write the value to the packet pr...
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void setUintX(uint64_t w, ByteOrder endian)
Set the value in the word w after truncating it to the length of the packet and then byteswapping it ...
Generated on Tue Sep 7 2021 14:53:45 for gem5 by doxygen 1.8.17