1/* 2 * Copyright (c) 2003-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 156 unchanged lines hidden (view full) --- 165 void regStats(const std::string &name); 166 167 /** 168 * Return true if the address is found in the cache. 169 * @param asid The address space ID. 170 * @param addr The address to look for. 171 * @return True if the address is in the cache. 172 */ |
173 bool probe(Addr addr) const; |
174 175 /** 176 * Invalidate the cache block that contains the given addr. 177 * @param asid The address space ID. 178 * @param addr The address to invalidate. 179 */ |
180 void invalidateBlk(Addr addr); |
181 182 /** 183 * Find the block in the cache and update the replacement data. Returns 184 * the access latency and the in cache flags as a side effect 185 * @param addr The address to look for. 186 * @param asid The address space ID. 187 * @param lat The latency of the access. 188 * @param inCache The FALRUBlk::inCache flags. 189 * @return Pointer to the cache block. 190 */ |
191 FALRUBlk* findBlock(Addr addr, int &lat, int *inCache = 0); |
192 193 /** 194 * Find the block in the cache and update the replacement data. Returns 195 * the access latency and the in cache flags as a side effect 196 * @param pkt The req whose block to find 197 * @param lat The latency of the access. 198 * @param inCache The FALRUBlk::inCache flags. 199 * @return Pointer to the cache block. 200 */ 201 FALRUBlk* findBlock(Packet * &pkt, int &lat, int *inCache = 0); 202 203 /** 204 * Find the block in the cache, do not update the replacement data. 205 * @param addr The address to look for. 206 * @param asid The address space ID. 207 * @return Pointer to the cache block. 208 */ |
209 FALRUBlk* findBlock(Addr addr) const; |
210 211 /** 212 * Find a replacement block for the address provided. 213 * @param pkt The request to a find a replacement candidate for. 214 * @param writebacks List for any writebacks to be performed. 215 * @param compress_blocks List of blocks to compress, for adaptive comp. 216 * @return The block to place the replacement in. 217 */ --- 107 unchanged lines hidden (view full) --- 325 326 /** 327 * Unimplemented. Perform a cache block copy from block aligned addresses. 328 * @param source The block aligned source address. 329 * @param dest The block aligned destination adddress. 330 * @param asid The address space ID. 331 * @param writebacks List for any generated writeback pktuests. 332 */ |
333 void doCopy(Addr source, Addr dest, PacketList &writebacks) |
334 { 335 } 336 337 /** 338 * Unimplemented. 339 */ 340 void fixCopy(Packet * &pkt, PacketList &writebacks) 341 { 342 } 343 344}; 345 346#endif |