130a131,132
> const bool allocOnFill; //!< Should the response servicing this
> //!< target list allocate in the cache?
133c135
< Source _source, bool _markedPending)
---
> Source _source, bool _markedPending, bool alloc_on_fill)
135c137,138
< pkt(_pkt), source(_source), markedPending(_markedPending)
---
> pkt(_pkt), source(_source), markedPending(_markedPending),
> allocOnFill(alloc_on_fill)
143a147,148
> /** Set when the response should allocate on fill */
> bool allocOnFill;
152a158
> * @param alloc_on_fill Whether the pkt would allocate on a fill
154c160,161
< void updateFlags(PacketPtr pkt, Target::Source source);
---
> void updateFlags(PacketPtr pkt, Target::Source source,
> bool alloc_on_fill);
156c163
< void resetFlags() { needsWritable = hasUpgrade = false; }
---
> void resetFlags() { needsWritable = hasUpgrade = allocOnFill = false; }
166c173,192
< bool isReset() const { return !needsWritable && !hasUpgrade; }
---
> /**
> * Tests if the flags of this TargetList have their default
> * values.
> */
> bool isReset() const {
> return !needsWritable && !hasUpgrade && !allocOnFill;
> }
>
> /**
> * Add the specified packet in the TargetList. This function
> * stores information related to the added packet and updates
> * accordingly the flags.
> *
> * @param pkt Packet considered for adding
> * @param readTime Tick at which the packet is processed by this cache
> * @param order A counter giving a unique id to each target
> * @param source Indicates the source agent of the packet
> * @param markPending Set for deferred targets or pending MSHRs
> * @param alloc_on_fill Whether it should allocate on a fill
> */
168c194,195
< Target::Source source, bool markPending);
---
> Target::Source source, bool markPending,
> bool alloc_on_fill);
187,189d213
< /** Keep track of whether we should allocate on fill or not */
< bool allocOnFill;
<
211a236,238
> bool allocOnFill() const {
> return targets.allocOnFill;
> }