base_set_assoc.hh (12731:36a41bd85c0f) | base_set_assoc.hh (12743:b5ccee582b40) |
---|---|
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 --- 116 unchanged lines hidden (view full) --- 125 * This function updates the tags when a block is invalidated but does 126 * not invalidate the block itself. It also updates the replacement data. 127 * 128 * @param blk The block to invalidate. 129 */ 130 void invalidate(CacheBlk *blk) override; 131 132 /** | 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 --- 116 unchanged lines hidden (view full) --- 125 * This function updates the tags when a block is invalidated but does 126 * not invalidate the block itself. It also updates the replacement data. 127 * 128 * @param blk The block to invalidate. 129 */ 130 void invalidate(CacheBlk *blk) override; 131 132 /** |
133 * Find the cache block given set and way 134 * @param set The set of the block. 135 * @param way The way of the block. 136 * @return The cache block. 137 */ 138 CacheBlk *findBlockBySetAndWay(int set, int way) const override; 139 140 /** | |
141 * Access block and update replacement data. May not succeed, in which case 142 * nullptr is returned. This has all the implications of a cache 143 * access and should only be used as such. Returns the access latency as a 144 * side effect. 145 * @param addr The address to find. 146 * @param is_secure True if the target memory space is secure. 147 * @param lat The access latency. 148 * @return Pointer to the cache block if found. --- 45 unchanged lines hidden (view full) --- 194 * @param addr The address to find. 195 * @param is_secure True if the target memory space is secure. 196 * @param asid The address space ID. 197 * @return Pointer to the cache block if found. 198 */ 199 CacheBlk* findBlock(Addr addr, bool is_secure) const override; 200 201 /** | 133 * Access block and update replacement data. May not succeed, in which case 134 * nullptr is returned. This has all the implications of a cache 135 * access and should only be used as such. Returns the access latency as a 136 * side effect. 137 * @param addr The address to find. 138 * @param is_secure True if the target memory space is secure. 139 * @param lat The access latency. 140 * @return Pointer to the cache block if found. --- 45 unchanged lines hidden (view full) --- 186 * @param addr The address to find. 187 * @param is_secure True if the target memory space is secure. 188 * @param asid The address space ID. 189 * @return Pointer to the cache block if found. 190 */ 191 CacheBlk* findBlock(Addr addr, bool is_secure) const override; 192 193 /** |
194 * Find a block given set and way. 195 * 196 * @param set The set of the block. 197 * @param way The way of the block. 198 * @return The block. 199 */ 200 ReplaceableEntry* findBlockBySetAndWay(int set, int way) const override; 201 202 /** |
|
202 * Find replacement victim based on address. 203 * 204 * @param addr Address to find a victim for. 205 * @return Cache block to be replaced. 206 */ 207 CacheBlk* findVictim(Addr addr) override 208 { 209 // Get possible locations for the victim block --- 111 unchanged lines hidden --- | 203 * Find replacement victim based on address. 204 * 205 * @param addr Address to find a victim for. 206 * @return Cache block to be replaced. 207 */ 208 CacheBlk* findVictim(Addr addr) override 209 { 210 // Get possible locations for the victim block --- 111 unchanged lines hidden --- |