diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2011-11-14 17:44:35 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2011-11-14 17:44:35 -0600 |
commit | f3b4d10a05d902f34ccd3bee7154b46ee8320fb6 (patch) | |
tree | 611091998480962f5cf0fd561382c0b58e78e745 /src/mem/ruby/recorder | |
parent | 2ee59cee1b6130359b127c4d74d3d10bd01853a9 (diff) | |
download | gem5-f3b4d10a05d902f34ccd3bee7154b46ee8320fb6.tar.xz |
Ruby: Process packet instead of RubyRequest in Sequencer
This patch changes the implementation of Ruby's recvTiming() function so
that it pushes a packet in to the Sequencer instead of a RubyRequest. This
requires changes in the Sequencer's makeRequest() and issueRequest()
functions, as they also need to operate on a Packet instead of RubyRequest.
Diffstat (limited to 'src/mem/ruby/recorder')
-rw-r--r-- | src/mem/ruby/recorder/TraceRecord.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mem/ruby/recorder/TraceRecord.cc b/src/mem/ruby/recorder/TraceRecord.cc index aa54ee53c..79186d33b 100644 --- a/src/mem/ruby/recorder/TraceRecord.cc +++ b/src/mem/ruby/recorder/TraceRecord.cc @@ -73,17 +73,15 @@ void TraceRecord::issueRequest() const { assert(m_sequencer_ptr != NULL); - - RubyRequest request(m_data_address.getAddress(), NULL, - RubySystem::getBlockSizeBytes(), m_pc_address.getAddress(), - m_type, RubyAccessMode_User, NULL); + Request req(m_data_address.getAddress(), 0, 0); + Packet *pkt = new Packet(&req, MemCmd(MemCmd::InvalidCmd), -1); // Clear out the sequencer while (!m_sequencer_ptr->empty()) { g_eventQueue_ptr->triggerEvents(g_eventQueue_ptr->getTime() + 100); } - m_sequencer_ptr->makeRequest(request); + m_sequencer_ptr->makeRequest(pkt); // Clear out the sequencer while (!m_sequencer_ptr->empty()) { |