From 74a66d8e6706ccaed79facc6df3999f7dee2075a Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 9 Oct 2019 21:32:11 -0700 Subject: 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 Maintainer: Gabe Black Tested-by: kokoro --- src/cpu/checker/cpu_impl.hh | 1 + src/cpu/checker/thread_context.hh | 2 ++ 2 files changed, 3 insertions(+) (limited to 'src/cpu/checker') 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::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(); } -- cgit v1.2.3