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.
This commit is contained in:
parent
e8f56bdf45
commit
15e28c5ba6
|
@ -698,7 +698,7 @@ RubyPort::ruby_eviction_callback(const Address& address)
|
||||||
if ((*p)->getMasterPort().isSnooping()) {
|
if ((*p)->getMasterPort().isSnooping()) {
|
||||||
Packet *pkt = new Packet(&req, MemCmd::InvalidationReq);
|
Packet *pkt = new Packet(&req, MemCmd::InvalidationReq);
|
||||||
// send as a snoop request
|
// send as a snoop request
|
||||||
(*p)->sendNextCycle(pkt, true);
|
(*p)->sendTimingSnoopReq(pkt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue