diff options
Diffstat (limited to 'src/mem/cache/mshr.hh')
-rw-r--r-- | src/mem/cache/mshr.hh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mem/cache/mshr.hh b/src/mem/cache/mshr.hh index 146e5e47a..253f5f388 100644 --- a/src/mem/cache/mshr.hh +++ b/src/mem/cache/mshr.hh @@ -143,7 +143,26 @@ class MSHR : public QueueEntry, public Printable bool hasUpgrade; TargetList(); + + /** + * Use the provided packet and the source to update the + * flags of this TargetList. + * + * @param pkt Packet considered for the flag update + * @param source Indicates the source of the packet + */ + void updateFlags(PacketPtr pkt, Target::Source source); + void resetFlags() { needsWritable = hasUpgrade = false; } + + /** + * Goes through the list of targets and uses them to populate + * the flags of this TargetList. When the function returns the + * flags are consistent with the properties of packets in the + * list. + */ + void populateFlags(); + bool isReset() const { return !needsWritable && !hasUpgrade; } void add(PacketPtr pkt, Tick readyTime, Counter order, Target::Source source, bool markPending); |