configs: Fix component classic cache prefetchers
The prefetchers were instatiated as class variables instead of instance variables. This change fixes the problem Change-Id: I7263c9e7ddb138d2f9ad10024ea7f0e7d860dda9 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49430 Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Jason Lowe-Power
parent
0e5aa3da42
commit
182f79c3da
@@ -28,7 +28,7 @@ from ....utils.override import *
|
||||
|
||||
from m5.objects import Cache, BasePrefetcher, StridePrefetcher
|
||||
|
||||
from typing import Optional
|
||||
from typing import Optional, Type
|
||||
|
||||
|
||||
class L1DCache(Cache):
|
||||
@@ -46,7 +46,7 @@ class L1DCache(Cache):
|
||||
mshrs: Optional[int] = 16,
|
||||
tgts_per_mshr: Optional[int] = 20,
|
||||
writeback_clean: Optional[bool] = True,
|
||||
prefetcher: BasePrefetcher = StridePrefetcher(),
|
||||
PrefetcherCls: Type[BasePrefetcher] = StridePrefetcher,
|
||||
):
|
||||
super(L1DCache, self).__init__()
|
||||
self.size = size
|
||||
@@ -57,4 +57,4 @@ class L1DCache(Cache):
|
||||
self.mshrs = mshrs
|
||||
self.tgts_per_mshr = tgts_per_mshr
|
||||
self.writeback_clean = writeback_clean
|
||||
self.prefetcher = prefetcher
|
||||
self.prefetcher = PrefetcherCls()
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
from typing import Optional
|
||||
from typing import Optional, Type
|
||||
|
||||
from m5.objects import Cache, BasePrefetcher, StridePrefetcher
|
||||
|
||||
@@ -46,7 +46,7 @@ class L1ICache(Cache):
|
||||
mshrs: Optional[int] = 16,
|
||||
tgts_per_mshr: Optional[int] = 20,
|
||||
writeback_clean: Optional[bool] = True,
|
||||
prefetcher: BasePrefetcher = StridePrefetcher(),
|
||||
PrefetcherCls: Type[BasePrefetcher] = StridePrefetcher,
|
||||
):
|
||||
super(L1ICache, self).__init__()
|
||||
self.size = size
|
||||
@@ -57,4 +57,4 @@ class L1ICache(Cache):
|
||||
self.mshrs = mshrs
|
||||
self.tgts_per_mshr = tgts_per_mshr
|
||||
self.writeback_clean = writeback_clean
|
||||
self.prefetcher = prefetcher
|
||||
self.prefetcher = PrefetcherCls()
|
||||
|
||||
@@ -28,7 +28,7 @@ from ....utils.override import *
|
||||
|
||||
from m5.objects import Cache, BasePrefetcher, StridePrefetcher
|
||||
|
||||
from typing import Optional
|
||||
from typing import Optional, Type
|
||||
|
||||
|
||||
class L2Cache(Cache):
|
||||
@@ -46,7 +46,7 @@ class L2Cache(Cache):
|
||||
mshrs: Optional[int] = 20,
|
||||
tgts_per_mshr: Optional[int] = 12,
|
||||
writeback_clean: Optional[bool] = True,
|
||||
prefetcher: BasePrefetcher = StridePrefetcher(),
|
||||
PrefetcherCls: Type[BasePrefetcher] = StridePrefetcher,
|
||||
):
|
||||
super(L2Cache, self).__init__()
|
||||
self.size = size
|
||||
@@ -57,4 +57,4 @@ class L2Cache(Cache):
|
||||
self.mshrs = mshrs
|
||||
self.tgts_per_mshr = tgts_per_mshr
|
||||
self.writeback_clean = writeback_clean
|
||||
self.prefetcher = prefetcher
|
||||
self.prefetcher = PrefetcherCls()
|
||||
|
||||
Reference in New Issue
Block a user