From: Gabe Black Date: Thu, 23 Aug 2018 04:35:44 +0000 (-0700) Subject: systemc: Handle sc_time_stamp before any sc_time is constructed. X-Git-Tag: v19.0.0.0~1736 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fb8ce429b339016188996d624608c91bb0afda68;p=gem5.git systemc: Handle sc_time_stamp before any sc_time is constructed. The time resolution won't yet be fixed, so the scaling factor will still be set to zero. Change-Id: I1d1e58316ee05cc477a31ce90e2bbf56dcbc65c3 Reviewed-on: https://gem5-review.googlesource.com/12255 Reviewed-by: Gabe Black Maintainer: Gabe Black --- diff --git a/src/systemc/core/sc_main.cc b/src/systemc/core/sc_main.cc index 47ca2e354..39f6e174b 100644 --- a/src/systemc/core/sc_main.cc +++ b/src/systemc/core/sc_main.cc @@ -235,7 +235,9 @@ sc_time_stamp() static sc_time tstamp; Tick tick = ::sc_gem5::scheduler.getCurTick(); //XXX We're assuming the systemc time resolution is in ps. - tstamp = sc_time::from_value(tick / SimClock::Int::ps); + // If tick is zero, the time scale may not be fixed yet, and + // SimClock::Int::ps may be zero. + tstamp = sc_time::from_value(tick ? tick / SimClock::Int::ps : 0); return tstamp; }