[PATCH 1/2] rtems: Inline rtems_clock_get_ticks_since_boot()
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Aug 22 15:12:01 UTC 2014
Update documentation.
---
cpukit/rtems/Makefile.am | 1 -
cpukit/rtems/include/rtems/rtems/clock.h | 14 +++++------
cpukit/rtems/src/clockgettickssinceboot.c | 31 -------------------------
cpukit/score/include/rtems/score/watchdog.h | 7 ++++++
cpukit/score/include/rtems/score/watchdogimpl.h | 8 -------
doc/user/clock.t | 31 ++++++++-----------------
6 files changed, 24 insertions(+), 68 deletions(-)
delete mode 100644 cpukit/rtems/src/clockgettickssinceboot.c
diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am
index b00e251..a1fafb1 100644
--- a/cpukit/rtems/Makefile.am
+++ b/cpukit/rtems/Makefile.am
@@ -151,7 +151,6 @@ librtems_a_SOURCES += src/barrierdata.c
librtems_a_SOURCES += src/clockget.c
librtems_a_SOURCES += src/clockgetsecondssinceepoch.c
librtems_a_SOURCES += src/clockgettickspersecond.c
-librtems_a_SOURCES += src/clockgettickssinceboot.c
librtems_a_SOURCES += src/clockgettod.c
librtems_a_SOURCES += src/clockgettodtimeval.c
librtems_a_SOURCES += src/clockgetuptime.c
diff --git a/cpukit/rtems/include/rtems/rtems/clock.h b/cpukit/rtems/include/rtems/rtems/clock.h
index d80218d..ff71665 100644
--- a/cpukit/rtems/include/rtems/rtems/clock.h
+++ b/cpukit/rtems/include/rtems/rtems/clock.h
@@ -149,15 +149,15 @@ rtems_status_code rtems_clock_get_seconds_since_epoch(
);
/**
- * @brief Obtain Ticks Since Boot
+ * @brief Gets the current ticks counter value.
*
- * This routine implements the rtems_clock_get_ticks_since_boot
- * directive.
- *
- * @retval This method returns the number of ticks since boot. It cannot
- * fail since RTEMS always keeps a running count of ticks since boot.
+ * @return The current tick counter value. With a 1ms clock tick, this counter
+ * overflows after 50 days since boot.
*/
-rtems_interval rtems_clock_get_ticks_since_boot(void);
+RTEMS_INLINE_ROUTINE rtems_interval rtems_clock_get_ticks_since_boot(void)
+{
+ return _Watchdog_Ticks_since_boot;
+}
/**
* @brief Obtain Ticks Per Seconds
diff --git a/cpukit/rtems/src/clockgettickssinceboot.c b/cpukit/rtems/src/clockgettickssinceboot.c
deleted file mode 100644
index 4aced96..0000000
--- a/cpukit/rtems/src/clockgettickssinceboot.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * @file
- *
- * @brief Obtain Ticks Since Boot
- * @ingroup ClassicClock
- */
-
-/*
- * COPYRIGHT (c) 1989-2008.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <rtems/system.h>
-#include <rtems/rtems/status.h>
-#include <rtems/rtems/clock.h>
-#include <rtems/score/isr.h>
-#include <rtems/score/thread.h>
-#include <rtems/score/watchdogimpl.h>
-
-rtems_interval rtems_clock_get_ticks_since_boot(void)
-{
- return _Watchdog_Ticks_since_boot;
-}
diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h
index 7327f77..06c87a1 100644
--- a/cpukit/score/include/rtems/score/watchdog.h
+++ b/cpukit/score/include/rtems/score/watchdog.h
@@ -124,6 +124,13 @@ typedef struct {
void *user_data;
} Watchdog_Control;
+/**
+ * @brief The watchdog ticks counter.
+ *
+ * With a 1ms watchdog tick, this counter overflows after 50 days since boot.
+ */
+SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
+
/**@}*/
#ifdef __cplusplus
diff --git a/cpukit/score/include/rtems/score/watchdogimpl.h b/cpukit/score/include/rtems/score/watchdogimpl.h
index 72b6b3b..d50e279 100644
--- a/cpukit/score/include/rtems/score/watchdogimpl.h
+++ b/cpukit/score/include/rtems/score/watchdogimpl.h
@@ -85,14 +85,6 @@ SCORE_EXTERN volatile uint32_t _Watchdog_Sync_level;
SCORE_EXTERN volatile uint32_t _Watchdog_Sync_count;
/**
- * @brief The number of ticks since the system was booted.
- *
- * This contains the number of ticks since the system was booted.
- */
-
-SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
-
-/**
* @brief Watchdog chain which is managed at ticks.
*
* This is the watchdog chain which is managed at ticks.
diff --git a/doc/user/clock.t b/doc/user/clock.t
index fdbd91d..921d1cb 100644
--- a/doc/user/clock.t
+++ b/doc/user/clock.t
@@ -20,7 +20,7 @@ the clock manager are:
@item @code{@value{DIRPREFIX}clock_get_tod_timeval} - Get date and time in timeval format
@item @code{@value{DIRPREFIX}clock_get_seconds_since_epoch} - Get seconds since epoch
@item @code{@value{DIRPREFIX}clock_get_ticks_per_second} - Get ticks per second
- at item @code{@value{DIRPREFIX}clock_get_ticks_since_boot} - Get ticks since boot
+ at item @code{@value{DIRPREFIX}clock_get_ticks_since_boot} - Get current ticks counter value
@item @code{@value{DIRPREFIX}clock_get_uptime} - Get time since boot
@item @code{@value{DIRPREFIX}clock_get_uptime_timeval} - Get time since boot in timeval format
@item @code{@value{DIRPREFIX}clock_get_uptime_seconds} - Get seconds since boot
@@ -569,19 +569,16 @@ application has configured.
This directive is callable from an ISR.
-This directive will not cause the running task to be
-preempted. Re-initializing RTEMS causes the system date and
-time to be reset to an uninitialized state. Another call to
- at code{@value{DIRPREFIX}clock_set} is required to re-initialize the
-system date and time to application specific specifications.
+This directive will not cause the running task to be preempted.
@c
@c
@c
@page
- at subsection CLOCK_GET_TICKS_SINCE_BOOT - Get ticks since boot
+ at subsection CLOCK_GET_TICKS_SINCE_BOOT - Get current ticks counter value
@cindex obtain ticks since boot
+ at cindex get current ticks counter value
@subheading CALLING SEQUENCE:
@@ -604,25 +601,17 @@ NONE
@subheading DESCRIPTION:
-This directive returns the number of clock ticks that have elapsed
-since the system was booted. This is the historical measure of uptime
-in an RTEMS system. The newer service
- at code{@value{DIRPREFIX}clock_get_uptime} is another and potentially
-more accurate way of obtaining similar information.
+This directive returns the current tick counter value. With a 1ms clock tick,
+this counter overflows after 50 days since boot. This is the historical
+measure of uptime in an RTEMS system. The newer service
+ at code{@value{DIRPREFIX}clock_get_uptime} is another and potentially more
+accurate way of obtaining similar information.
@subheading NOTES:
This directive is callable from an ISR.
-This directive will not cause the running task to be
-preempted. Re-initializing RTEMS causes the system date and
-time to be reset to an uninitialized state. Another call to
- at code{@value{DIRPREFIX}clock_set} is required to re-initialize the
-system date and time to application specific specifications.
-
-This directive simply returns the number of times the dirivective
- at code{@value{DIRPREFIX}clock_tick} has been invoked since the
-system was booted.
+This directive will not cause the running task to be preempted.
@c
@c
--
1.8.4.5
More information about the devel
mailing list