diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-12-08 19:41:31 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-12-08 19:41:31 +0000 |
commit | c16bcc009b3bec9f653cefbe5247ef9d74352833 (patch) | |
tree | bbe12a1ed854be9a8ab090f774b0fc096bb76cc9 /cpukit/score/src/coretodgetuptime.c | |
parent | 2008-12-08 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-c16bcc009b3bec9f653cefbe5247ef9d74352833.tar.bz2 |
2008-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/__times.c, libmisc/cpuuse/cpuusagereport.c,
libmisc/cpuuse/cpuusagereset.c, posix/src/clockgettime.c,
posix/src/pthread.c, posix/src/timersettime.c,
rtems/include/rtems/rtems/ratemon.h,
rtems/src/clockgetsecondssinceepoch.c, rtems/src/clockgetuptime.c,
rtems/src/ratemongetstatus.c, rtems/src/ratemonperiod.c,
rtems/src/ratemonreportstatistics.c, rtems/src/taskwakewhen.c,
rtems/src/timerfirewhen.c, rtems/src/timerserver.c,
rtems/src/timerserverfirewhen.c, score/Makefile.am,
score/preinstall.am, score/include/rtems/score/thread.h,
score/include/rtems/score/tod.h, score/src/coretod.c,
score/src/coretodget.c, score/src/coretodgetuptime.c,
score/src/coretodset.c, score/src/coretodtickle.c,
score/src/threaddispatch.c, score/src/threadinitialize.c: Add
SuperCore handler Timestamp to provide an opaque class for the
representation and manipulation of uptime, time of day, and the
difference between two timestamps. By using SuperCore Timestamp, it
is clear which methods and APIs really have to be struct timespec and
which can be in an optimized native format.
* score/include/rtems/score/timestamp.h,
score/src/coretodgetuptimetimespec.c: New files.
Diffstat (limited to 'cpukit/score/src/coretodgetuptime.c')
-rw-r--r-- | cpukit/score/src/coretodgetuptime.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/cpukit/score/src/coretodgetuptime.c b/cpukit/score/src/coretodgetuptime.c index 7155419f34..6d4e5dc72a 100644 --- a/cpukit/score/src/coretodgetuptime.c +++ b/cpukit/score/src/coretodgetuptime.c @@ -18,7 +18,7 @@ #include <rtems/system.h> #include <rtems/score/isr.h> -#include <rtems/score/timespec.h> +#include <rtems/score/timestamp.h> #include <rtems/score/tod.h> #include <rtems/score/watchdog.h> @@ -28,28 +28,30 @@ * This routine is used to obtain the system uptime * * Input parameters: - * time - pointer to the time and date structure + * time - pointer to the timestamp structure * * Output parameters: NONE */ void _TOD_Get_uptime( - struct timespec *uptime + Timestamp_Control *uptime ) { - ISR_Level level; - struct timespec offset; + ISR_Level level; + Timestamp_Control offset; + Timestamp_Control up; + long nanoseconds; - /* assume uptime checked by caller */ - - offset.tv_sec = 0; - offset.tv_nsec = 0; + /* assume time checked for NULL by caller */ + /* _TOD_Uptime is in native timestamp format */ + nanoseconds = 0; _ISR_Disable( level ); - *uptime = _TOD_Uptime; + up= _TOD_Uptime; if ( _Watchdog_Nanoseconds_since_tick_handler ) - offset.tv_nsec = (*_Watchdog_Nanoseconds_since_tick_handler)(); + nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)(); _ISR_Enable( level ); - _Timespec_Add_to( uptime, &offset ); + _Timestamp_Set( &offset, 0, nanoseconds ); + _Timestamp_Add_to( &up, &offset ); } |