diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2018-03-22 11:24:54 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2018-03-30 18:41:11 +0000 |
commit | 83f88cd1c0f27adb4704b374541bd6aff7e3e3fb (patch) | |
tree | 4b5d8d06db378112ce6df181363052350969e575 /src/mem/cache/tags/fa_lru.cc | |
parent | c2d03ba24f52aec96bf569309a59022e0d4e3c21 (diff) | |
download | gem5-83f88cd1c0f27adb4704b374541bd6aff7e3e3fb.tar.xz |
mem-cache: Fix FALRU data block seg fault
FALRU didn't initialize the blocks' data, causing seg faults.
This patch does not make FALRU functional yet.
Change-Id: I10cbcf5afc3f8bc357eeb8b7cb46789dec47ba8b
Reviewed-on: https://gem5-review.googlesource.com/9302
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
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); |