diff options
author | Gabe Black <gabeblack@google.com> | 2019-10-13 22:02:35 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-10-25 22:42:31 +0000 |
commit | c73c19effd8f7f9b6e2ec470f04b8f1f43ce7354 (patch) | |
tree | 9869a1a8c09c03a3354ef5efee23dd0e9d03fdd4 /src/cpu/base.cc | |
parent | fea2af5b9c4599637866d0ce2dfc598296c19a5b (diff) | |
download | gem5-c73c19effd8f7f9b6e2ec470f04b8f1f43ce7354.tar.xz |
cpu: Make accesses to comInstEventQueue indirect through methods.
This lets us move the event queue itself around, or change how those
services are provided.
Change-Id: Ie36665b353cf9788968f253cf281a854a6eff4f4
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22107
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/base.cc')
-rw-r--r-- | src/cpu/base.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cpu/base.cc b/src/cpu/base.cc index 7e0e79e96..a4ffb1031 100644 --- a/src/cpu/base.cc +++ b/src/cpu/base.cc @@ -191,7 +191,7 @@ BaseCPU::BaseCPU(Params *p, bool is_checker) *counter = numThreads; for (ThreadID tid = 0; tid < numThreads; ++tid) { Event *event = new CountedExitEvent(cause, *counter); - comInstEventQueue[tid]->schedule(event, p->max_insts_all_threads); + scheduleInstCountEvent(tid, event, p->max_insts_all_threads); } } @@ -726,16 +726,16 @@ BaseCPU::unserialize(CheckpointIn &cp) void BaseCPU::scheduleInstStop(ThreadID tid, Counter insts, const char *cause) { - const Tick now(comInstEventQueue[tid]->getCurTick()); + const Tick now(getCurrentInstCount(tid)); Event *event(new LocalSimLoopExitEvent(cause, 0)); - comInstEventQueue[tid]->schedule(event, now + insts); + scheduleInstCountEvent(tid, event, now + insts); } -uint64_t +Tick BaseCPU::getCurrentInstCount(ThreadID tid) { - return Tick(comInstEventQueue[tid]->getCurTick()); + return comInstEventQueue[tid]->getCurTick(); } AddressMonitor::AddressMonitor() { |