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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 56 unchanged lines hidden (view full) --- 67 * The BaseSetAssoc tags provide a base, as well as the functionality 68 * common to any set associative tags. Any derived class must implement 69 * the methods related to the specifics of the actual replacment policy. 70 * These are: 71 * 72 * BlkType* accessBlock(); 73 * BlkType* findVictim(); 74 * void insertBlock(); |
75 */ 76class BaseSetAssoc : public BaseTags 77{ 78 public: 79 /** Typedef the block type used in this tag store. */ 80 typedef CacheBlk BlkType; 81 /** Typedef the set type used in this tag store. */ 82 typedef CacheSet<CacheBlk> SetType; --- 45 unchanged lines hidden (view full) --- 128 * Find the cache block given set and way 129 * @param set The set of the block. 130 * @param way The way of the block. 131 * @return The cache block. 132 */ 133 CacheBlk *findBlockBySetAndWay(int set, int way) const override; 134 135 /** |
136 * Access block and update replacement data. May not succeed, in which case 137 * nullptr is returned. This has all the implications of a cache 138 * access and should only be used as such. Returns the access latency as a 139 * side effect. 140 * @param addr The address to find. 141 * @param is_secure True if the target memory space is secure. 142 * @param lat The access latency. 143 * @return Pointer to the cache block if found. --- 206 unchanged lines hidden --- |