diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-12-16 14:50:12 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-12-16 14:50:12 +0000 |
commit | 18657d189dbd7e56db2894cb78d7ab5a80c2c18f (patch) | |
tree | 8abfb63822239f3df800d1b4235662b40a7c864e | |
parent | Added missing include file. (diff) | |
download | rtems-18657d189dbd7e56db2894cb78d7ab5a80c2c18f.tar.bz2 |
2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* score/src/watchdognanoseconds.c: New file.
* score/Makefile.am: Reflect change above.
* score/include/rtems/score/watchdog.h, score/src/coretodget.c,
score/src/coretodgetuptime.c: Do not allow NULL as nanoseconds since
last tick handler pointer.
Diffstat (limited to '')
-rw-r--r-- | cpukit/ChangeLog | 8 | ||||
-rw-r--r-- | cpukit/score/Makefile.am | 3 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/watchdog.h | 11 | ||||
-rw-r--r-- | cpukit/score/src/coretodget.c | 4 | ||||
-rw-r--r-- | cpukit/score/src/coretodgetuptime.c | 4 | ||||
-rw-r--r-- | cpukit/score/src/watchdognanoseconds.c | 31 |
6 files changed, 52 insertions, 9 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index b32a207d47..de92c7c409 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,11 @@ +2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * score/src/watchdognanoseconds.c: New file. + * score/Makefile.am: Reflect change above. + * score/include/rtems/score/watchdog.h, score/src/coretodget.c, + score/src/coretodgetuptime.c: Do not allow NULL as nanoseconds since + last tick handler pointer. + 2010-12-08 Sebastian Huber <sebastian.huber@embedded-brains.de> * libnetworking/loop.h, libnetworking/net/if_loop.c, diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index 6ad13b51e8..fbe50e1244 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -203,7 +203,8 @@ libscore_a_SOURCES += src/coretod.c src/coretodset.c src/coretodget.c \ ## WATCHDOG_C_FILES libscore_a_SOURCES += src/watchdog.c src/watchdogadjust.c \ src/watchdogadjusttochain.c src/watchdoginsert.c src/watchdogremove.c \ - src/watchdogtickle.c src/watchdogreport.c src/watchdogreportchain.c + src/watchdogtickle.c src/watchdogreport.c src/watchdogreportchain.c \ + src/watchdognanoseconds.c ## USEREXT_C_FILES libscore_a_SOURCES += src/userextaddset.c \ diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h index f3fb27a14f..33c2739633 100644 --- a/cpukit/score/include/rtems/score/watchdog.h +++ b/cpukit/score/include/rtems/score/watchdog.h @@ -170,8 +170,8 @@ SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot; * This is a pointer to the optional BSP plugin to obtain the number * of nanoseconds since the last clock tick. */ -SCORE_EXTERN Watchdog_Nanoseconds_since_last_tick_routine - _Watchdog_Nanoseconds_since_tick_handler; +extern Watchdog_Nanoseconds_since_last_tick_routine + _Watchdog_Nanoseconds_since_tick_handler; /** @brief Per Ticks Watchdog List * @@ -302,6 +302,13 @@ void _Watchdog_Report_chain( Chain_Control *header ); +/** + * @brief Default nanoseconds since last tick handler. + * + * @retval 0 Always. + */ +uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void ); + #ifndef __RTEMS_APPLICATION__ #include <rtems/score/watchdog.inl> #endif diff --git a/cpukit/score/src/coretodget.c b/cpukit/score/src/coretodget.c index dff46a0748..953f3cb753 100644 --- a/cpukit/score/src/coretodget.c +++ b/cpukit/score/src/coretodget.c @@ -45,11 +45,9 @@ void _TOD_Get( /* assume time checked for NULL by caller */ /* _TOD_Now is the native current time */ - nanoseconds = 0; _ISR_Disable( level ); now = _TOD_Now; - if ( _Watchdog_Nanoseconds_since_tick_handler ) - nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)(); + nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)(); _ISR_Enable( level ); _Timestamp_Set( &offset, 0, nanoseconds ); diff --git a/cpukit/score/src/coretodgetuptime.c b/cpukit/score/src/coretodgetuptime.c index ea55a25796..c5d940b0c0 100644 --- a/cpukit/score/src/coretodgetuptime.c +++ b/cpukit/score/src/coretodgetuptime.c @@ -45,11 +45,9 @@ void _TOD_Get_uptime( /* assume time checked for NULL by caller */ /* _TOD_Uptime is in native timestamp format */ - nanoseconds = 0; _ISR_Disable( level ); up = _TOD_Uptime; - if ( _Watchdog_Nanoseconds_since_tick_handler ) - nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)(); + nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)(); _ISR_Enable( level ); _Timestamp_Set( &offset, 0, nanoseconds ); diff --git a/cpukit/score/src/watchdognanoseconds.c b/cpukit/score/src/watchdognanoseconds.c new file mode 100644 index 0000000000..b3d3e7b028 --- /dev/null +++ b/cpukit/score/src/watchdognanoseconds.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2010 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * <rtems@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#include <rtems/system.h> +#include <rtems/score/watchdog.h> + +Watchdog_Nanoseconds_since_last_tick_routine + _Watchdog_Nanoseconds_since_tick_handler = + _Watchdog_Nanoseconds_since_tick_default_handler; + +uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void ) +{ + return 0; +} |