summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-08-29 00:05:23 -0700
committerGabe Black <gabeblack@google.com>2018-10-03 00:14:45 +0000
commitc599dfdfcd37934ae8756f421953ceeb37661a1f (patch)
treebdb8aee26d143fca3206df7e6330b1bffc5c2bfa
parente1cf6b3e4724850e2ed2ff140efd5f42ed29d212 (diff)
downloadgem5-c599dfdfcd37934ae8756f421953ceeb37661a1f.tar.xz
systemc: Track the module who's end_of_elaboration callback we're in.
Change-Id: Ib5fe3232cfea26df0c3396c583fd80da429cbdd5 Reviewed-on: https://gem5-review.googlesource.com/c/12442 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/systemc/core/kernel.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/systemc/core/kernel.cc b/src/systemc/core/kernel.cc
index 24d9f22b2..fd51b4c52 100644
--- a/src/systemc/core/kernel.cc
+++ b/src/systemc/core/kernel.cc
@@ -103,12 +103,14 @@ Kernel::regStats()
status(::sc_core::SC_END_OF_ELABORATION);
for (auto m: sc_gem5::allModules) {
+ callbackModule(m);
m->sc_mod()->end_of_elaboration();
for (auto p: m->ports)
p->end_of_elaboration();
for (auto e: m->exports)
e->end_of_elaboration();
}
+ callbackModule(nullptr);
for (auto c: sc_gem5::allChannels)
c->sc_chan()->end_of_elaboration();