summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2012-05-04 03:30:02 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2012-05-04 03:30:02 -0400
commit15e28c5ba6ef0a436d05468e3113304987257b0b (patch)
treec7a5c3a5b235cff56aa229e2700eda2c0b6e07ca
parente8f56bdf45cf77083525273fe83fca95a165d40f (diff)
downloadgem5-15e28c5ba6ef0a436d05468e3113304987257b0b.tar.xz
Ruby: Ensure snoop requests are sent using sendTimingSnoopReq
This patch fixes a bug that caused snoop requests to be placed in a packet queue. Instead, the packet is now sent immediately using sendTimingSnoopReq, thus bypassing the packet queue and any normal responses waiting to be sent.
-rw-r--r--src/mem/ruby/system/RubyPort.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc
index 53b6e8e6d..3621cc9e3 100644
--- a/src/mem/ruby/system/RubyPort.cc
+++ b/src/mem/ruby/system/RubyPort.cc
@@ -698,7 +698,7 @@ RubyPort::ruby_eviction_callback(const Address& address)
if ((*p)->getMasterPort().isSnooping()) {
Packet *pkt = new Packet(&req, MemCmd::InvalidationReq);
// send as a snoop request
- (*p)->sendNextCycle(pkt, true);
+ (*p)->sendTimingSnoopReq(pkt);
}
}
}