summaryrefslogtreecommitdiff
path: root/src/cpu/checker
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-10-09 21:32:11 -0700
committerGabe Black <gabeblack@google.com>2019-10-25 22:42:31 +0000
commit74a66d8e6706ccaed79facc6df3999f7dee2075a (patch)
treec1b03caf8419a65240ef5451b839b5a7e2765043 /src/cpu/checker
parent2b7d4bd73db443b4ca302213689a673266e856e0 (diff)
downloadgem5-74a66d8e6706ccaed79facc6df3999f7dee2075a.tar.xz
cpu: Make the ThreadContext a PCEventScope.
Both the thread and system's PCEventQueue are checked when appropriate. Change-Id: I16c371339c91a37b5641860d974e546a30e23e13 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22105 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabeblack@google.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/cpu/checker')
-rw-r--r--src/cpu/checker/cpu_impl.hh1
-rw-r--r--src/cpu/checker/thread_context.hh2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/checker/cpu_impl.hh b/src/cpu/checker/cpu_impl.hh
index 95ea3f7bb..81bf4c100 100644
--- a/src/cpu/checker/cpu_impl.hh
+++ b/src/cpu/checker/cpu_impl.hh
@@ -413,6 +413,7 @@ Checker<Impl>::verify(const DynInstPtr &completed_inst)
do {
oldpc = thread->instAddr();
system->pcEventQueue.service(oldpc, tc);
+ thread->pcEventQueue.service(oldpc, tc);
count++;
} while (oldpc != thread->instAddr());
if (count > 1) {
diff --git a/src/cpu/checker/thread_context.hh b/src/cpu/checker/thread_context.hh
index 2e5f31d77..a7199d168 100644
--- a/src/cpu/checker/thread_context.hh
+++ b/src/cpu/checker/thread_context.hh
@@ -89,6 +89,8 @@ class CheckerThreadContext : public ThreadContext
CheckerCPU *checkerCPU;
public:
+ bool schedule(PCEvent *e) override { return actualTC->schedule(e); }
+ bool remove(PCEvent *e) override { return actualTC->remove(e); }
BaseCPU *getCpuPtr() override { return actualTC->getCpuPtr(); }