1/* 2 * Copyright (c) 2012-2014,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 --- 198 unchanged lines hidden (view full) --- 207 * @return The possible locations. 208 */ 209 const std::vector<CacheBlk*> getPossibleLocations(Addr addr) 210 { 211 return sets[extractSet(addr)].blks; 212 } 213 214 /** |
215 * Insert the new block into the cache and update replacement data. 216 * |
217 * @param pkt Packet holding the address to update 218 * @param blk The block to update. 219 */ |
220 void insertBlock(PacketPtr pkt, CacheBlk *blk) override 221 { 222 // Insert block 223 BaseTags::insertBlock(pkt, blk); |
224 |
225 // Update replacement policy 226 replacementPolicy->reset(blk); 227 } |
228 |
229 /** 230 * Limit the allocation for the cache ways. 231 * @param ways The maximum number of ways available for replacement. 232 */ 233 virtual void setWayAllocationMax(int ways) override 234 { 235 fatal_if(ways < 1, "Allocation limit must be greater than zero"); 236 allocAssoc = ways; --- 78 unchanged lines hidden --- |