snoop_filter.hh (11131:22e739752f47) snoop_filter.hh (11132:fbd597034299)
1/*
2 * Copyright (c) 2013-2015 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

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

85 * requesting MSHRs track order between local requests and remote snoops
86 */
87class SnoopFilter : public SimObject {
88 public:
89 typedef std::vector<QueuedSlavePort*> SnoopList;
90
91 SnoopFilter (const SnoopFilterParams *p) :
92 SimObject(p), reqLookupResult(cachedLocations.end()), retryItem{0, 0},
1/*
2 * Copyright (c) 2013-2015 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

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

85 * requesting MSHRs track order between local requests and remote snoops
86 */
87class SnoopFilter : public SimObject {
88 public:
89 typedef std::vector<QueuedSlavePort*> SnoopList;
90
91 SnoopFilter (const SnoopFilterParams *p) :
92 SimObject(p), reqLookupResult(cachedLocations.end()), retryItem{0, 0},
93 linesize(p->system->cacheLineSize()), lookupLatency(p->lookup_latency)
93 linesize(p->system->cacheLineSize()), lookupLatency(p->lookup_latency),
94 maxEntryCount(p->max_capacity / p->system->cacheLineSize())
94 {
95 }
96
97 /**
98 * Init a new snoop filter and tell it about all the slave ports of the
99 * enclosing bus.
100 *
101 * @param bus_slave_ports Vector of slave ports that the bus is attached to.

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

249 */
250 SnoopItem retryItem;
251 /** List of all attached slave ports. */
252 SnoopList slavePorts;
253 /** Cache line size. */
254 const unsigned linesize;
255 /** Latency for doing a lookup in the filter */
256 const Cycles lookupLatency;
95 {
96 }
97
98 /**
99 * Init a new snoop filter and tell it about all the slave ports of the
100 * enclosing bus.
101 *
102 * @param bus_slave_ports Vector of slave ports that the bus is attached to.

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

250 */
251 SnoopItem retryItem;
252 /** List of all attached slave ports. */
253 SnoopList slavePorts;
254 /** Cache line size. */
255 const unsigned linesize;
256 /** Latency for doing a lookup in the filter */
257 const Cycles lookupLatency;
258 /** Max capacity in terms of cache blocks tracked, for sanity checking */
259 const unsigned maxEntryCount;
257
258 /** Statistics */
259 Stats::Scalar totRequests;
260 Stats::Scalar hitSingleRequests;
261 Stats::Scalar hitMultiRequests;
262
263 Stats::Scalar totSnoops;
264 Stats::Scalar hitSingleSnoops;

--- 32 unchanged lines hidden ---
260
261 /** Statistics */
262 Stats::Scalar totRequests;
263 Stats::Scalar hitSingleRequests;
264 Stats::Scalar hitMultiRequests;
265
266 Stats::Scalar totSnoops;
267 Stats::Scalar hitSingleSnoops;

--- 32 unchanged lines hidden ---