Deleted Added
sdiff udiff text old ( 14005:6cad91d6136c ) new ( 14122:11979370f6f8 )
full compact
1/*
2 * Copyright (c) 2013-2016,2019 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

--- 80 unchanged lines hidden (view full) ---

89 public:
90
91 // Change for systems with more than 256 ports tracked by this object
92 static const int SNOOP_MASK_SIZE = 256;
93
94 typedef std::vector<QueuedSlavePort*> SnoopList;
95
96 SnoopFilter (const SnoopFilterParams *p) :
97 SimObject(p), reqLookupResult(cachedLocations.end()), retryItem{0, 0},
98 linesize(p->system->cacheLineSize()), lookupLatency(p->lookup_latency),
99 maxEntryCount(p->max_capacity / p->system->cacheLineSize())
100 {
101 }
102
103 /**
104 * Init a new snoop filter and tell it about all the slave ports
105 * of the enclosing bus.

--- 150 unchanged lines hidden (view full) ---

256
257 /**
258 * Removes snoop filter items which have no requesters and no holders.
259 */
260 void eraseIfNullEntry(SnoopFilterCache::iterator& sf_it);
261
262 /** Simple hash set of cached addresses. */
263 SnoopFilterCache cachedLocations;
264 /**
265 * Iterator used to store the result from lookupRequest until we
266 * call finishRequest.
267 */
268 SnoopFilterCache::iterator reqLookupResult;
269 /**
270 * Variable to temporarily store value of snoopfilter entry
271 * incase finishRequest needs to undo changes made in lookupRequest
272 * (because of crossbar retry)
273 */
274 SnoopItem retryItem;
275 /** List of all attached snooping slave ports. */
276 SnoopList slavePorts;
277 /** Track the mapping from port ids to the local mask ids. */
278 std::vector<PortID> localSlavePortIds;
279 /** Cache line size. */
280 const unsigned linesize;
281 /** Latency for doing a lookup in the filter */
282 const Cycles lookupLatency;

--- 41 unchanged lines hidden ---