cache.hh (9814:7ad2b0186a32) cache.hh (10028:fb8c44de891a)
1/*
2 * Copyright (c) 2012-2013 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

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

204 Cycles &lat, PacketList &writebacks);
205
206 /**
207 *Handle doing the Compare and Swap function for SPARC.
208 */
209 void cmpAndSwap(BlkType *blk, PacketPtr pkt);
210
211 /**
1/*
2 * Copyright (c) 2012-2013 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

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

204 Cycles &lat, PacketList &writebacks);
205
206 /**
207 *Handle doing the Compare and Swap function for SPARC.
208 */
209 void cmpAndSwap(BlkType *blk, PacketPtr pkt);
210
211 /**
212 * Find a block frame for new block at address addr, assuming that
213 * the block is not currently in the cache. Append writebacks if
214 * any to provided packet list. Return free block frame. May
215 * return NULL if there are no replaceable blocks at the moment.
212 * Find a block frame for new block at address addr targeting the
213 * given security space, assuming that the block is not currently
214 * in the cache. Append writebacks if any to provided packet
215 * list. Return free block frame. May return NULL if there are
216 * no replaceable blocks at the moment.
216 */
217 */
217 BlkType *allocateBlock(Addr addr, PacketList &writebacks);
218 BlkType *allocateBlock(Addr addr, bool is_secure, PacketList &writebacks);
218
219 /**
220 * Populates a cache block and handles all outstanding requests for the
221 * satisfied fill request. This version takes two memory requests. One
222 * contains the fill data, the other is an optional target to satisfy.
223 * @param pkt The memory request with the fill data.
224 * @param blk The cache block if it already exists.
225 * @param writebacks List for any writebacks that need to be performed.

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

379 /**
380 * Return whether there are any outstanding misses.
381 */
382 bool outstandingMisses() const
383 {
384 return mshrQueue.allocated != 0;
385 }
386
219
220 /**
221 * Populates a cache block and handles all outstanding requests for the
222 * satisfied fill request. This version takes two memory requests. One
223 * contains the fill data, the other is an optional target to satisfy.
224 * @param pkt The memory request with the fill data.
225 * @param blk The cache block if it already exists.
226 * @param writebacks List for any writebacks that need to be performed.

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

380 /**
381 * Return whether there are any outstanding misses.
382 */
383 bool outstandingMisses() const
384 {
385 return mshrQueue.allocated != 0;
386 }
387
387 CacheBlk *findBlock(Addr addr) const {
388 return tags->findBlock(addr);
388 CacheBlk *findBlock(Addr addr, bool is_secure) const {
389 return tags->findBlock(addr, is_secure);
389 }
390
390 }
391
391 bool inCache(Addr addr) const {
392 return (tags->findBlock(addr) != 0);
392 bool inCache(Addr addr, bool is_secure) const {
393 return (tags->findBlock(addr, is_secure) != 0);
393 }
394
394 }
395
395 bool inMissQueue(Addr addr) const {
396 return (mshrQueue.findMatch(addr) != 0);
396 bool inMissQueue(Addr addr, bool is_secure) const {
397 return (mshrQueue.findMatch(addr, is_secure) != 0);
397 }
398
399 /**
400 * Find next request ready time from among possible sources.
401 */
402 Tick nextMSHRReadyTime() const;
403
404 public:

--- 16 unchanged lines hidden ---
398 }
399
400 /**
401 * Find next request ready time from among possible sources.
402 */
403 Tick nextMSHRReadyTime() const;
404
405 public:

--- 16 unchanged lines hidden ---