diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mem/packet.cc | 25 | ||||
-rw-r--r-- | src/mem/packet.hh | 16 | ||||
-rw-r--r-- | src/mem/tport.cc | 7 |
3 files changed, 2 insertions, 46 deletions
diff --git a/src/mem/packet.cc b/src/mem/packet.cc index 55fe13f3c..8de02f533 100644 --- a/src/mem/packet.cc +++ b/src/mem/packet.cc @@ -164,31 +164,6 @@ Packet::intersect(PacketPtr p) return !(s1 > e2 || e1 < s2); } -bool -fixDelayedResponsePacket(PacketPtr func, PacketPtr timing) -{ - bool result; - - if (timing->isRead() || timing->isWrite()) { - // Ugly hack to deal with the fact that we queue the requests - // and don't convert them to responses until we issue them on - // the bus. I tried to avoid this by converting packets to - // responses right away, but this breaks during snoops where a - // responder may do the conversion before other caches have - // done the snoop. Would work if we copied the packet instead - // of just hanging on to a pointer. - MemCmd oldCmd = timing->cmd; - timing->cmd = timing->cmd.responseCommand(); - result = fixPacket(func, timing); - timing->cmd = oldCmd; - } - else { - //Don't toggle if it isn't a read/write response - result = fixPacket(func, timing); - } - - return result; -} bool Packet::checkFunctional(Addr addr, int size, uint8_t *data) diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 10b9f490c..16bc6f458 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -574,22 +574,6 @@ class Packet : public FastAlloc } }; - - -/** Temporary for backwards compatibility. - */ -inline -bool fixPacket(PacketPtr func, PacketPtr timing) { - return !func->checkFunctional(timing); -} - -/** This function is a wrapper for the fixPacket field that toggles - * the hasData bit it is used when a response is waiting in the - * caches, but hasn't been marked as a response yet (so the fixPacket - * needs to get the correct value for the hasData) - */ -bool fixDelayedResponsePacket(PacketPtr func, PacketPtr timing); - std::ostream & operator<<(std::ostream &o, const Packet &p); #endif //__MEM_PACKET_HH diff --git a/src/mem/tport.cc b/src/mem/tport.cc index d6ff64608..a4f791048 100644 --- a/src/mem/tport.cc +++ b/src/mem/tport.cc @@ -40,11 +40,8 @@ SimpleTimingPort::checkFunctional(PacketPtr pkt) PacketPtr target = i->pkt; // If the target contains data, and it overlaps the // probed request, need to update data - if (target->intersect(pkt)) { - if (!fixPacket(pkt, target)) { - // fixPacket returns true for continue, false for done - return; - } + if (pkt->checkFunctional(target)) { + return; } } } |