diff options
Diffstat (limited to 'src/mem/cache/tags/fa_lru.cc')
-rw-r--r-- | src/mem/cache/tags/fa_lru.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mem/cache/tags/fa_lru.cc b/src/mem/cache/tags/fa_lru.cc index a38d0bf34..1f2909e31 100644 --- a/src/mem/cache/tags/fa_lru.cc +++ b/src/mem/cache/tags/fa_lru.cc @@ -80,10 +80,12 @@ FALRU::FALRU(const Params *p) head->prev = nullptr; head->next = &(blks[1]); head->inCache = cacheMask; + head->data = &dataBlks[0]; tail->prev = &(blks[numBlocks-2]); tail->next = nullptr; tail->inCache = 0; + tail->data = &dataBlks[(numBlocks-1)*blkSize]; unsigned index = (1 << 17) / blkSize; unsigned j = 0; @@ -100,6 +102,9 @@ FALRU::FALRU(const Params *p) blks[i].next = &(blks[i+1]); blks[i].set = 0; blks[i].way = i; + + // Associate a data chunk to the block + blks[i].data = &dataBlks[blkSize*i]; } assert(j == numCaches); assert(index == numBlocks); |