summaryrefslogtreecommitdiff
path: root/src/mem/bus.hh
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@gmail.com>2008-03-17 03:07:38 -0400
committerSteve Reinhardt <stever@gmail.com>2008-03-17 03:07:38 -0400
commit131c65f4293c76f2c9b0b98c62b1937cd0aea4ce (patch)
treefa91f138d07da92c2b82fa6c3ef7436dbeab4169 /src/mem/bus.hh
parent19c367fa8fa0c330676c1b7aacb532b8871164cf (diff)
downloadgem5-131c65f4293c76f2c9b0b98c62b1937cd0aea4ce.tar.xz
Restructure bus timing calcs to cope with pkt being deleted by target.
--HG-- extra : convert_revision : db8497e73a44f2a06aab121e797e88b4c0c31330
Diffstat (limited to 'src/mem/bus.hh')
-rw-r--r--src/mem/bus.hh8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mem/bus.hh b/src/mem/bus.hh
index 274c02de4..74901d626 100644
--- a/src/mem/bus.hh
+++ b/src/mem/bus.hh
@@ -245,10 +245,12 @@ class Bus : public MemObject
*/
void addressRanges(AddrRangeList &resp, bool &snoop, int id);
- /** Prepare a packet to be sent on the bus. The header finishes at tick
- * headerTime
+ /** Calculate the timing parameters for the packet. Updates the
+ * firstWordTime and finishTime fields of the packet object.
+ * Returns the tick at which the packet header is completed (which
+ * will be all that is sent if the target rejects the packet).
*/
- void preparePacket(PacketPtr pkt, Tick & headerTime);
+ Tick calcPacketTiming(PacketPtr pkt);
/** Occupy the bus until until */
void occupyBus(Tick until);