systemc: Change the point where elaboration is considered over.

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>
diff --git a/src/systemc/core/kernel.cc b/src/systemc/core/kernel.cc
index 5804f96..11292c4 100644
--- a/src/systemc/core/kernel.cc
+++ b/src/systemc/core/kernel.cc
@@ -82,6 +82,8 @@
         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 @@
     } catch (...) {
         ::sc_gem5::scheduler.throwToScMain();
     }
-
-    ::sc_gem5::scheduler.elaborationDone(true);
 }
 
 void