X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fpacket.hh;h=3a7286a697caed5cb95bb54b47b6ac3d650d08e4;hb=404b2a951d82bde00e607296c5e7de2997df8058;hp=426f1442126b509ca1048812b32f5f13fc2638eb;hpb=a0472af008bd13d8a4850ef67b0ef08d37cfb8f8;p=gem5.git diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 426f14421..3a7286a69 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -92,7 +92,6 @@ class Packet * be called on it rather than simply delete.*/ bool arrayData; - /** The address of the request. This address could be virtual or * physical, depending on the system configuration. */ Addr addr; @@ -124,6 +123,12 @@ class Packet /** Used to calculate latencies for each packet.*/ Tick time; + /** The time at which the packet will be fully transmitted */ + Tick finishTime; + + /** The time at which the first chunk of the packet will be transmitted */ + Tick firstWordTime; + /** The special destination address indicating that the packet * should be routed based on its address. */ static const short Broadcast = -1; @@ -178,9 +183,6 @@ class Packet IsUpgrade = 1 << 9, HasData = 1 << 10 }; -//For statistics we need max number of commands, hard code it at -//20 for now. @todo fix later -#define NUM_MEM_CMDS 1 << 10 public: /** List of all commands associated with a packet. */ @@ -328,6 +330,10 @@ class Packet int icmd = (int)cmd; icmd &= ~(IsRequest); icmd |= IsResponse; + if (isRead()) + icmd |= HasData; + if (isWrite()) + icmd &= ~HasData; cmd = (Command)icmd; dest = src; srcValid = false;