summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mem/cache/prefetch/access_map_pattern_matching.cc10
-rw-r--r--src/mem/cache/prefetch/access_map_pattern_matching.hh1
2 files changed, 8 insertions, 3 deletions
diff --git a/src/mem/cache/prefetch/access_map_pattern_matching.cc b/src/mem/cache/prefetch/access_map_pattern_matching.cc
index df2a9f7ec..731d6069c 100644
--- a/src/mem/cache/prefetch/access_map_pattern_matching.cc
+++ b/src/mem/cache/prefetch/access_map_pattern_matching.cc
@@ -57,9 +57,12 @@ AccessMapPatternMatching::AccessMapPatternMatching(
{
fatal_if(!isPowerOf2(hotZoneSize),
"the hot zone size must be a power of 2");
- if (!epochEvent.scheduled()) {
- schedule(epochEvent, clockEdge(epochCycles));
- }
+}
+
+void
+AccessMapPatternMatching::startup()
+{
+ schedule(epochEvent, clockEdge(epochCycles));
}
void
@@ -153,6 +156,7 @@ AccessMapPatternMatching::calculatePrefetch(
std::vector<QueuedPrefetcher::AddrPriority> &addresses)
{
assert(addresses.empty());
+
bool is_secure = pfi.isSecure();
Addr am_addr = pfi.getAddr() / hotZoneSize;
Addr current_block = (pfi.getAddr() % hotZoneSize) / blkSize;
diff --git a/src/mem/cache/prefetch/access_map_pattern_matching.hh b/src/mem/cache/prefetch/access_map_pattern_matching.hh
index 0968e6475..397bc788a 100644
--- a/src/mem/cache/prefetch/access_map_pattern_matching.hh
+++ b/src/mem/cache/prefetch/access_map_pattern_matching.hh
@@ -180,6 +180,7 @@ class AccessMapPatternMatching : public ClockedObject
AccessMapPatternMatching(const AccessMapPatternMatchingParams* p);
~AccessMapPatternMatching()
{}
+ void startup() override;
void calculatePrefetch(const BasePrefetcher::PrefetchInfo &pfi,
std::vector<QueuedPrefetcher::AddrPriority> &addresses);
};