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 --- |