1/* 2 * Copyright (c) 2012-2013, 2015-2016, 2018 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 110 unchanged lines hidden (view full) --- 119 public: 120 121 /** Track if we sent this as a whole line write or not */ 122 bool wasWholeLineWrite; 123 124 /** True if the entry is just a simple forward from an upper level */ 125 bool isForward; 126 |
127 class Target : public QueueEntry::Target { |
128 public: 129 130 enum Source { 131 FromCPU, 132 FromSnoop, 133 FromPrefetcher 134 }; 135 |
136 const Source source; //!< Request from cpu, memory, or prefetcher? 137 138 /** 139 * We use this flag to track whether we have cleared the 140 * downstreamPending flag for the MSHR of the cache above 141 * where this packet originates from and guard noninitial 142 * attempts to clear it. 143 * --- 8 unchanged lines hidden (view full) --- 152 */ 153 bool markedPending; 154 155 const bool allocOnFill; //!< Should the response servicing this 156 //!< target list allocate in the cache? 157 158 Target(PacketPtr _pkt, Tick _readyTime, Counter _order, 159 Source _source, bool _markedPending, bool alloc_on_fill) |
160 : QueueEntry::Target(_pkt, _readyTime, _order), source(_source), 161 markedPending(_markedPending), allocOnFill(alloc_on_fill) |
162 {} 163 }; 164 165 class TargetList : public std::list<Target> { 166 167 public: 168 bool needsWritable; 169 bool hasUpgrade; --- 296 unchanged lines hidden (view full) --- 466 * @return true if there are targets 467 */ 468 bool hasTargets() const { return !targets.empty(); } 469 470 /** 471 * Returns a reference to the first target. 472 * @return A pointer to the first target. 473 */ |
474 QueueEntry::Target *getTarget() override |
475 { 476 assert(hasTargets()); 477 return &targets.front(); 478 } 479 480 /** 481 * Pop first target. 482 */ --- 54 unchanged lines hidden --- |