From fb8ce429b339016188996d624608c91bb0afda68 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 22 Aug 2018 21:35:44 -0700 Subject: [PATCH] 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 --- src/systemc/core/sc_main.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; } -- 2.30.2