From 4597a71cef808969c442fca73ae662efe75550d7 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Sat, 16 Feb 2008 14:58:03 -0500 Subject: Make L2+ caches allocate new block for writeback misses instead of forwarding down the line. --HG-- extra : convert_revision : b0d6e7862c92ea7a2d21f817d30398735e7bb8ba --- src/mem/cache/cache.hh | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/mem/cache/cache.hh') diff --git a/src/mem/cache/cache.hh b/src/mem/cache/cache.hh index 073ce5ecb..6f5428c13 100644 --- a/src/mem/cache/cache.hh +++ b/src/mem/cache/cache.hh @@ -169,6 +169,14 @@ class Cache : public BaseCache */ void cmpAndSwap(BlkType *blk, PacketPtr pkt); + /** + * Find a block frame for new block at address addr, assuming that + * the block is not currently in the cache. Append writebacks if + * any to provided packet list. Return free block frame. May + * return NULL if there are no replaceable blocks at the moment. + */ + BlkType *allocateBlock(Addr addr, PacketList &writebacks); + /** * Populates a cache block and handles all outstanding requests for the * satisfied fill request. This version takes two memory requests. One -- cgit v1.2.3