1/* 2 * Copyright (c) 2012 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 --- 192 unchanged lines hidden (view full) --- 201 * Does all the processing necessary to perform the provided request. 202 * @param pkt The memory request to perform. 203 * @param lat The latency of the access. 204 * @param writebacks List for any writebacks that need to be performed. 205 * @param update True if the replacement data should be updated. 206 * @return Boolean indicating whether the request was satisfied. 207 */ 208 bool access(PacketPtr pkt, BlkType *&blk, |
209 Cycles &lat, PacketList &writebacks); |
210 211 /** 212 *Handle doing the Compare and Swap function for SPARC. 213 */ 214 void cmpAndSwap(BlkType *blk, PacketPtr pkt); 215 216 /** 217 * Find a block frame for new block at address addr, assuming that --- 49 unchanged lines hidden (view full) --- 267 * @param pkt The request to perform. 268 * @return The result of the access. 269 */ 270 bool timingAccess(PacketPtr pkt); 271 272 /** 273 * Performs the access specified by the request. 274 * @param pkt The request to perform. |
275 * @return The number of ticks required for the access. |
276 */ 277 Tick atomicAccess(PacketPtr pkt); 278 279 /** 280 * Performs the access specified by the request. 281 * @param pkt The request to perform. 282 * @param fromCpuSide from the CPU side port or the memory side port 283 */ --- 10 unchanged lines hidden (view full) --- 294 * @param pkt The current bus transaction. 295 */ 296 void snoopTiming(PacketPtr pkt); 297 298 /** 299 * Snoop for the provided request in the cache and return the estimated 300 * time of completion. 301 * @param pkt The memory request to snoop |
302 * @return The number of cycles required for the snoop. |
303 */ |
304 Cycles snoopAtomic(PacketPtr pkt); |
305 306 /** 307 * Squash all requests associated with specified thread. 308 * intended for use by I-cache. 309 * @param threadNum The thread to squash. 310 */ 311 void squash(int threadNum); 312 --- 70 unchanged lines hidden --- |