systemc: Change the point where elaboration is considered over.
authorGabe Black <gabeblack@google.com>
Wed, 3 Oct 2018 23:14:41 +0000 (16:14 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 16 Oct 2018 00:48:15 +0000 (00:48 +0000)
Make it the end of "before_end_of_elaboration" rather than the end
of "end_of_elaboration". This interpretation fits the behavior expected
by some of the tests.

Change-Id: I3f589147834ab5d5dc8c0e9b4849dd00491c5848
Reviewed-on: https://gem5-review.googlesource.com/c/13287
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

src/systemc/core/kernel.cc

index 5804f9683721a0572cac974556bce01fe95302f7..11292c4a5366a204cabe1a522b13392ee183f8ed 100644 (file)
@@ -82,6 +82,8 @@ Kernel::init()
         m->beforeEndOfElaboration();
     for (auto c: sc_gem5::allChannels)
         c->sc_chan()->before_end_of_elaboration();
+
+    ::sc_gem5::scheduler.elaborationDone(true);
 }
 
 void
@@ -106,8 +108,6 @@ Kernel::regStats()
     } catch (...) {
         ::sc_gem5::scheduler.throwToScMain();
     }
-
-    ::sc_gem5::scheduler.elaborationDone(true);
 }
 
 void