summaryrefslogtreecommitdiff
path: root/mem/packet.hh
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2006-04-28 15:41:22 -0400
committerAli Saidi <saidi@eecs.umich.edu>2006-04-28 15:41:22 -0400
commitca8a659394e96a0a0c11693cbaae59e6b027795a (patch)
tree79f9509a48359bbc870ae34ce8b6e2fc6bc027de /mem/packet.hh
parent7bb70e3e30f30c669e475c47b950f0abd24367d0 (diff)
parentb43d1a00fb69015c751fba57d22a6fa94a292f04 (diff)
downloadgem5-ca8a659394e96a0a0c11693cbaae59e6b027795a.tar.xz
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : d6f7c4dd146613eeba39249f2d916a77108bc8c1
Diffstat (limited to 'mem/packet.hh')
-rw-r--r--mem/packet.hh18
1 files changed, 17 insertions, 1 deletions
diff --git a/mem/packet.hh b/mem/packet.hh
index 4329094d5..a5bd6bc59 100644
--- a/mem/packet.hh
+++ b/mem/packet.hh
@@ -142,7 +142,7 @@ struct Packet
Packet()
: data(NULL), staticData(false), dynamicData(false), arrayData(false),
- result(Unknown)
+ time(curTick), result(Unknown)
{}
~Packet()
@@ -156,6 +156,7 @@ struct Packet
deleteData();
dynamicData = false;
arrayData = false;
+ time = curTick;
}
}
@@ -231,6 +232,21 @@ struct Packet
arrayData = true;
data = new uint8_t[size];
}
+
+ /** Do the packet modify the same addresses. */
+ bool intersect(Packet *p) {
+ Addr s1 = addr;
+ Addr e1 = addr + size;
+ Addr s2 = p->addr;
+ Addr e2 = p->addr + p->size;
+
+ if (s1 >= s2 && s1 < e2)
+ return true;
+ if (e1 >= s2 && e1 < e2)
+ return true;
+ return false;
+ }
};
+bool fixPacket(Packet &func, Packet &timing);
#endif //__MEM_PACKET_HH