diff options
author | Gabe Black <gabeblack@google.com> | 2019-10-09 22:07:27 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-10-25 22:42:31 +0000 |
commit | fea2af5b9c4599637866d0ce2dfc598296c19a5b (patch) | |
tree | 43a7620bfb5faffee2d72e03abcc24044348e718 /src/cpu | |
parent | 74a66d8e6706ccaed79facc6df3999f7dee2075a (diff) | |
download | gem5-fea2af5b9c4599637866d0ce2dfc598296c19a5b.tar.xz |
cpu,sim: Delegate PCEvent scheduling from Systems to ThreadContexts.
The System keeps track of what events are live so new ThreadContexts
can have the same set of events as the other ThreadContexts.
Change-Id: Id22bfa0af7592a43d97be1564ca067b08ac1de7c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22106
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')
-rw-r--r-- | src/cpu/checker/cpu_impl.hh | 1 | ||||
-rw-r--r-- | src/cpu/minor/execute.cc | 1 | ||||
-rw-r--r-- | src/cpu/o3/commit_impl.hh | 2 | ||||
-rw-r--r-- | src/cpu/simple/base.cc | 1 |
4 files changed, 0 insertions, 5 deletions
diff --git a/src/cpu/checker/cpu_impl.hh b/src/cpu/checker/cpu_impl.hh index 81bf4c100..9e4bdcd52 100644 --- a/src/cpu/checker/cpu_impl.hh +++ b/src/cpu/checker/cpu_impl.hh @@ -412,7 +412,6 @@ Checker<Impl>::verify(const DynInstPtr &completed_inst) int count = 0; do { oldpc = thread->instAddr(); - system->pcEventQueue.service(oldpc, tc); thread->pcEventQueue.service(oldpc, tc); count++; } while (oldpc != thread->instAddr()); diff --git a/src/cpu/minor/execute.cc b/src/cpu/minor/execute.cc index 5bf3120c2..24506fceb 100644 --- a/src/cpu/minor/execute.cc +++ b/src/cpu/minor/execute.cc @@ -841,7 +841,6 @@ Execute::tryPCEvents(ThreadID thread_id) Addr oldPC; do { oldPC = thread->instAddr(); - cpu.system->pcEventQueue.service(oldPC, thread); cpu.threads[thread_id]->pcEventQueue.service(oldPC, thread); num_pc_event_checks++; } while (oldPC != thread->instAddr()); diff --git a/src/cpu/o3/commit_impl.hh b/src/cpu/o3/commit_impl.hh index 23f10fe2a..fa2d72494 100644 --- a/src/cpu/o3/commit_impl.hh +++ b/src/cpu/o3/commit_impl.hh @@ -1112,8 +1112,6 @@ DefaultCommit<Impl>::commitInsts() !thread[tid]->trapPending); do { oldpc = pc[tid].instAddr(); - cpu->system->pcEventQueue.service( - oldpc, thread[tid]->getTC()); thread[tid]->pcEventQueue.service( oldpc, thread[tid]->getTC()); count++; diff --git a/src/cpu/simple/base.cc b/src/cpu/simple/base.cc index 8cecf70e4..248494b40 100644 --- a/src/cpu/simple/base.cc +++ b/src/cpu/simple/base.cc @@ -144,7 +144,6 @@ BaseSimpleCPU::checkPcEventQueue() Addr oldpc, pc = threadInfo[curThread]->thread->instAddr(); do { oldpc = pc; - system->pcEventQueue.service(oldpc, threadContexts[curThread]); threadInfo[curThread]->thread->pcEventQueue.service( oldpc, threadContexts[curThread]); pc = threadInfo[curThread]->thread->instAddr(); |