diff options
Diffstat (limited to 'cpukit/score/src/coretod.c')
-rw-r--r-- | cpukit/score/src/coretod.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/cpukit/score/src/coretod.c b/cpukit/score/src/coretod.c index 4824be2c36..142d8782bc 100644 --- a/cpukit/score/src/coretod.c +++ b/cpukit/score/src/coretod.c @@ -40,24 +40,25 @@ void _TOD_Handler_initialization( { _TOD_Microseconds_per_tick = microseconds_per_tick; - _TOD_Seconds_since_epoch = 0; + /* POSIX format TOD (timespec) */ + _TOD_Now.tv_sec = TOD_SECONDS_1970_THROUGH_1988; + _TOD_Now.tv_nsec = 0; + + /* Uptime (timespec) */ + _TOD_Uptime.tv_sec = 0; + _TOD_Uptime.tv_nsec = 0; - _TOD_Current.year = TOD_BASE_YEAR; - _TOD_Current.month = 1; - _TOD_Current.day = 1; - _TOD_Current.hour = 0; - _TOD_Current.minute = 0; - _TOD_Current.second = 0; - _TOD_Current.ticks = 0; + /* Seconds since RTEMS Epoch (1988) */ + _TOD_Seconds_since_epoch = 0; + /* Protect ourselves from a divide by zero fault */ if ( microseconds_per_tick == 0 ) _TOD_Ticks_per_second = 0; else _TOD_Ticks_per_second = TOD_MICROSECONDS_PER_SECOND / microseconds_per_tick; - _Watchdog_Initialize( &_TOD_Seconds_watchdog, _TOD_Tickle, 0, NULL ); - + /* TOD has not been set */ _TOD_Is_set = FALSE; _TOD_Activate( _TOD_Ticks_per_second ); } |