1/* |
2 * Copyright (c) 2012-2014,2016-2017 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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 220 unchanged lines hidden (view full) --- 231 * @return The maximum number of ways available for replacement. 232 */ 233 virtual int getWayAllocationMax() const 234 { 235 panic("This tag class does not implement way allocation limit!\n"); 236 return -1; 237 } 238 |
239 /** 240 * This function updates the tags when a block is invalidated but 241 * does not invalidate the block itself. 242 * @param blk The block to invalidate. 243 */ 244 virtual void invalidate(CacheBlk *blk) 245 { 246 assert(blk); 247 assert(blk->isValid()); 248 tagsInUse--; 249 occupancies[blk->srcMasterId]--; 250 } |
251 252 virtual CacheBlk* accessBlock(Addr addr, bool is_secure, Cycles &lat) = 0; 253 254 virtual Addr extractTag(Addr addr) const = 0; 255 256 virtual void insertBlock(PacketPtr pkt, CacheBlk *blk) = 0; 257 258 virtual Addr regenerateBlkAddr(Addr tag, unsigned set) const = 0; --- 25 unchanged lines hidden --- |