summaryrefslogtreecommitdiff
path: root/src/mem/ruby/tester/DeterministicDriver.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/tester/DeterministicDriver.cc')
-rw-r--r--src/mem/ruby/tester/DeterministicDriver.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mem/ruby/tester/DeterministicDriver.cc b/src/mem/ruby/tester/DeterministicDriver.cc
index 7b7d0c9d2..762672118 100644
--- a/src/mem/ruby/tester/DeterministicDriver.cc
+++ b/src/mem/ruby/tester/DeterministicDriver.cc
@@ -42,6 +42,7 @@
#include "mem/ruby/tester/DetermSeriesGETSGenerator.hh"
#include "mem/ruby/common/SubBlock.hh"
#include "mem/protocol/Chip.hh"
+#include "mem/packet.hh"
DeterministicDriver::DeterministicDriver(RubySystem* sys_ptr)
{
@@ -99,13 +100,17 @@ DeterministicDriver::~DeterministicDriver()
}
}
-void DeterministicDriver::hitCallback(NodeID proc, SubBlock& data, CacheRequestType type, int thread)
+void
+DeterministicDriver::hitCallback(Packet * pkt)
{
- DEBUG_EXPR(TESTER_COMP, MedPrio, data);
-
+ NodeID proc = pkt->req->contextId();
+ SubBlock data(Address(pkt->getAddr()), pkt->req->getSize());
+ if (pkt->hasData()) {
+ for (int i = 0; i < pkt->req->getSize(); i++) {
+ data.setByte(i, *(pkt->getPtr<uint8>()+i));
+ }
+ }
m_generator_vector[proc]->performCallback(proc, data);
-
- // Mark that we made progress
m_last_progress_vector[proc] = g_eventQueue_ptr->getTime();
}