systemc: Fix the time resolution when constructing an sc_time.
authorGabe Black <gabeblack@google.com>
Fri, 20 Jul 2018 22:46:49 +0000 (15:46 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 11 Sep 2018 21:42:26 +0000 (21:42 +0000)
commit8a488364afcaa1baaa0014484d7f42b9aca9ac27
tree58d2bb2ff955e91dc2157678d9043674d5280c56
parent8b8b75092a2ef84a98132518e5da55e559e942f7
systemc: Fix the time resolution when constructing an sc_time.

This is (sort of) mandated by the spec. More specifically the spec says
that the systemc API for changing the time resolution can only be
called once, and can only be called before a non-zero sc_time is
constructed.

Because sc_time can be constructed during elaboration and the gem5
version of time resolution is generally not locked down until the
actual simulation starts (after elaboration), the sc_time constructor
needs to call the fixing function itself to ensure that, for instance,
the scaling factors for various real life time units within gem5 are
initialized.

Change-Id: Ied4b43659834761b55b5ae49ea62779af891d9e3
Reviewed-on: https://gem5-review.googlesource.com/12037
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
src/systemc/core/sc_time.cc