From b2625d0b03d375085fb1989fa95871255850c7d4 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 7 Dec 2019 03:35:39 -0800 Subject: [PATCH] sim: Clean up some constants used in some syscalls. Having readable constants for these large numbers is good, but they used incorrect style, were at global scope, and were only used in one place. This change centralizes them where they're used, fixes their style, and rewrites the actual constants in a way that makes it clear what they're values are. Change-Id: Ib89c46fce133d4180296d384a61d51d1fe1f8d20 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23455 Tested-by: kokoro Reviewed-by: Bobby R. Bruce Maintainer: Gabe Black --- src/sim/syscall_emul.hh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index 74ffd761f..0bc846a7a 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -508,15 +508,10 @@ futexFunc(SyscallDesc *desc, int callnum, ThreadContext *tc, SyscallReturn pipePseudoFunc(SyscallDesc *desc, int num, ThreadContext *tc); -/// A readable name for 1,000,000, for converting microseconds to seconds. -const int one_million = 1000000; -/// A readable name for 1,000,000,000, for converting nanoseconds to seconds. -const int one_billion = 1000000000; - /// Approximate seconds since the epoch (1/1/1970). About a billion, /// by my reckoning. We want to keep this a constant (not use the /// real-world time) to keep simulations repeatable. -const unsigned seconds_since_epoch = 1000000000; +const unsigned seconds_since_epoch = 1000 * 1000 * 1000; /// Helper function to convert current elapsed time to seconds and /// microseconds. @@ -524,9 +519,11 @@ template void getElapsedTimeMicro(T1 &sec, T2 &usec) { + static const int OneMillion = 1000 * 1000; + uint64_t elapsed_usecs = curTick() / SimClock::Int::us; - sec = elapsed_usecs / one_million; - usec = elapsed_usecs % one_million; + sec = elapsed_usecs / OneMillion; + usec = elapsed_usecs % OneMillion; } /// Helper function to convert current elapsed time to seconds and @@ -535,9 +532,11 @@ template void getElapsedTimeNano(T1 &sec, T2 &nsec) { + static const int OneBillion = 1000 * 1000 * 1000; + uint64_t elapsed_nsecs = curTick() / SimClock::Int::ns; - sec = elapsed_nsecs / one_billion; - nsec = elapsed_nsecs % one_billion; + sec = elapsed_nsecs / OneBillion; + nsec = elapsed_nsecs % OneBillion; } ////////////////////////////////////////////////////////////////////// -- 2.30.2