summaryrefslogtreecommitdiff
path: root/src/mem/packet.hh
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-06-09 12:29:40 -0400
committerKevin Lim <ktlim@umich.edu>2006-06-09 12:29:40 -0400
commit4b732e43a61bd87db39a0316105a32dcde9b0fb8 (patch)
treea67dfe55148f68243a9ffa757a22909e42bf5b76 /src/mem/packet.hh
parenta7f5f54ff8d7097c60fdf09bf4bbba121aaff5c6 (diff)
parent6875e8d8391035edf8fc4a8fdb29f614a527b0bc (diff)
downloadgem5-4b732e43a61bd87db39a0316105a32dcde9b0fb8.tar.xz
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge --HG-- extra : convert_revision : 184b6ff6c11de8f9c9083dcb93754cb451d9cfce
Diffstat (limited to 'src/mem/packet.hh')
-rw-r--r--src/mem/packet.hh11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mem/packet.hh b/src/mem/packet.hh
index d5a10d29a..403039d96 100644
--- a/src/mem/packet.hh
+++ b/src/mem/packet.hh
@@ -179,6 +179,7 @@ class Packet
{
Success,
BadAddress,
+ Nacked,
Unknown
};
@@ -249,6 +250,16 @@ class Packet
srcValid = false;
}
+ /** Take a request packet that has been returned as NACKED and modify it so
+ * that it can be sent out again. Only packets that need a response can be
+ * NACKED, so verify that that is true. */
+ void reinitNacked() {
+ assert(needsResponse() && result == Nacked);
+ dest = Broadcast;
+ result = Unknown;
+ }
+
+
/** Set the data pointer to the following value that should not be freed. */
template <typename T>
void dataStatic(T *p);