summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-08 11:50:24 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-12 13:25:41 +0100
commitccc6695c843e8cb83df4dd8e6b1dc43c9df33216 (patch)
treef90f1077a504adc8a32a10d022d75f66fe77bea0
parentrtems: Avoid <rtems/score/timecounter.h> in API (diff)
downloadrtems-ccc6695c843e8cb83df4dd8e6b1dc43c9df33216.tar.bz2
score: Introduce <rtems/score/watchdogticks.h>
Separate the definitions related to watchdog ticks from the watchdog structures. Update #3598.
-rw-r--r--cpukit/headers.am1
-rw-r--r--cpukit/include/rtems/config.h2
-rw-r--r--cpukit/include/rtems/rtems/clock.h1
-rw-r--r--cpukit/include/rtems/rtems/ratemon.h1
-rw-r--r--cpukit/include/rtems/rtems/types.h2
-rw-r--r--cpukit/include/rtems/score/mppkt.h2
-rw-r--r--cpukit/include/rtems/score/threadq.h4
-rw-r--r--cpukit/include/rtems/score/watchdog.h39
-rw-r--r--cpukit/include/rtems/score/watchdogimpl.h1
-rw-r--r--cpukit/include/rtems/score/watchdogticks.h73
-rw-r--r--cpukit/score/src/watchdogtickssinceboot.c2
11 files changed, 85 insertions, 43 deletions
diff --git a/cpukit/headers.am b/cpukit/headers.am
index 3a85f29782..fa51f8dcee 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -395,6 +395,7 @@ include_rtems_score_HEADERS += include/rtems/score/userext.h
include_rtems_score_HEADERS += include/rtems/score/userextimpl.h
include_rtems_score_HEADERS += include/rtems/score/watchdog.h
include_rtems_score_HEADERS += include/rtems/score/watchdogimpl.h
+include_rtems_score_HEADERS += include/rtems/score/watchdogticks.h
include_rtems_score_HEADERS += include/rtems/score/wkspace.h
include_rtems_trace_HEADERS += include/rtems/trace/rtems-trace-buffer-vars.h
include_sys_HEADERS += include/sys/_ffcounter.h
diff --git a/cpukit/include/rtems/config.h b/cpukit/include/rtems/config.h
index b8422d67cd..a6b918c09b 100644
--- a/cpukit/include/rtems/config.h
+++ b/cpukit/include/rtems/config.h
@@ -29,7 +29,7 @@
#include <rtems/score/object.h>
#include <rtems/score/isr.h>
-#include <rtems/score/watchdog.h>
+#include <rtems/score/watchdogticks.h>
#include <rtems/rtems/config.h>
#include <rtems/posix/config.h>
#include <rtems/extension.h>
diff --git a/cpukit/include/rtems/rtems/clock.h b/cpukit/include/rtems/rtems/clock.h
index f3f406d2e6..77b379f285 100644
--- a/cpukit/include/rtems/rtems/clock.h
+++ b/cpukit/include/rtems/rtems/clock.h
@@ -29,7 +29,6 @@
#ifndef _RTEMS_RTEMS_CLOCK_H
#define _RTEMS_RTEMS_CLOCK_H
-#include <rtems/score/watchdog.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
#include <rtems/config.h>
diff --git a/cpukit/include/rtems/rtems/ratemon.h b/cpukit/include/rtems/rtems/ratemon.h
index 747d967af2..095cab31eb 100644
--- a/cpukit/include/rtems/rtems/ratemon.h
+++ b/cpukit/include/rtems/rtems/ratemon.h
@@ -35,7 +35,6 @@
#include <rtems/rtems/types.h>
#include <rtems/rtems/status.h>
-#include <rtems/score/watchdog.h>
struct rtems_printer;
diff --git a/cpukit/include/rtems/rtems/types.h b/cpukit/include/rtems/rtems/types.h
index 13adf175a6..ba904536ee 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -28,7 +28,7 @@
#include <rtems/score/heap.h>
#include <rtems/score/object.h>
#include <rtems/score/priority.h>
-#include <rtems/score/watchdog.h>
+#include <rtems/score/watchdogticks.h>
#include <rtems/rtems/modes.h>
#if defined(RTEMS_MULTIPROCESSING)
#include <rtems/score/mpci.h>
diff --git a/cpukit/include/rtems/score/mppkt.h b/cpukit/include/rtems/score/mppkt.h
index 573abf574b..d6d41261f6 100644
--- a/cpukit/include/rtems/score/mppkt.h
+++ b/cpukit/include/rtems/score/mppkt.h
@@ -24,7 +24,7 @@
#include <rtems/score/object.h>
#include <rtems/score/priority.h>
-#include <rtems/score/watchdog.h>
+#include <rtems/score/watchdogticks.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/include/rtems/score/threadq.h b/cpukit/include/rtems/score/threadq.h
index 3e618bf5af..5ddc2a10bb 100644
--- a/cpukit/include/rtems/score/threadq.h
+++ b/cpukit/include/rtems/score/threadq.h
@@ -25,12 +25,14 @@
#include <rtems/score/priority.h>
#include <rtems/score/rbtree.h>
#include <rtems/score/states.h>
-#include <rtems/score/watchdog.h>
+#include <rtems/score/watchdogticks.h>
#ifdef __cplusplus
extern "C" {
#endif
+struct Per_CPU_Control;
+
struct Scheduler_Node;
/**
diff --git a/cpukit/include/rtems/score/watchdog.h b/cpukit/include/rtems/score/watchdog.h
index 71126d3508..9db87adae8 100644
--- a/cpukit/include/rtems/score/watchdog.h
+++ b/cpukit/include/rtems/score/watchdog.h
@@ -1,5 +1,7 @@
/**
- * @file rtems/score/watchdog.h
+ * @file
+ *
+ * @ingroup ScoreWatchdog
*
* @brief Constants and Structures Associated with Watchdog Timers
*
@@ -46,18 +48,6 @@ extern "C" {
typedef struct Watchdog_Control Watchdog_Control;
/**
- * @brief Type is used to specify the length of intervals.
- *
- * This type is used to specify the length of intervals.
- */
-typedef uint32_t Watchdog_Interval;
-
-/**
- * @brief Special watchdog ticks value to indicate an infinite wait.
- */
-#define WATCHDOG_NO_TIMEOUT 0
-
-/**
* @brief Return type from a Watchdog Service Routine.
*
* This type defines the return type from a Watchdog Service Routine.
@@ -124,29 +114,6 @@ struct Watchdog_Control {
uint64_t expire;
};
-/**
- * @brief The watchdog ticks counter.
- *
- * With a 1ms watchdog tick, this counter overflows after 50 days since boot.
- */
-extern volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
-
-/**
- * @brief The watchdog nanoseconds per tick.
- *
- * This constant is defined by the application configuration via
- * <rtems/confdefs.h>.
- */
-extern const uint32_t _Watchdog_Nanoseconds_per_tick;
-
-/**
- * @brief The watchdog ticks per second.
- *
- * This constant is defined by the application configuration via
- * <rtems/confdefs.h>.
- */
-extern const uint32_t _Watchdog_Ticks_per_second;
-
/**@}*/
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/score/watchdogimpl.h b/cpukit/include/rtems/score/watchdogimpl.h
index 6fe9d5acf5..17ef130d3a 100644
--- a/cpukit/include/rtems/score/watchdogimpl.h
+++ b/cpukit/include/rtems/score/watchdogimpl.h
@@ -20,6 +20,7 @@
#define _RTEMS_SCORE_WATCHDOGIMPL_H
#include <rtems/score/watchdog.h>
+#include <rtems/score/watchdogticks.h>
#include <rtems/score/assert.h>
#include <rtems/score/isrlock.h>
#include <rtems/score/percpu.h>
diff --git a/cpukit/include/rtems/score/watchdogticks.h b/cpukit/include/rtems/score/watchdogticks.h
new file mode 100644
index 0000000000..8a69a288fc
--- /dev/null
+++ b/cpukit/include/rtems/score/watchdogticks.h
@@ -0,0 +1,73 @@
+/**
+ * @file
+ *
+ * @ingroup ScoreWatchdog
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2009.
+ * 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.
+ */
+
+#ifndef _RTEMS_SCORE_WATCHDOGTICKS_H
+#define _RTEMS_SCORE_WATCHDOGTICKS_H
+
+#include <rtems/score/basedefs.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ScoreWatchdog
+ *
+ * @{
+ */
+
+/**
+ * @brief Type is used to specify the length of intervals.
+ *
+ * This type is used to specify the length of intervals.
+ */
+typedef uint32_t Watchdog_Interval;
+
+/**
+ * @brief Special watchdog ticks value to indicate an infinite wait.
+ */
+#define WATCHDOG_NO_TIMEOUT 0
+
+/**
+ * @brief The watchdog ticks counter.
+ *
+ * With a 1ms watchdog tick, this counter overflows after 50 days since boot.
+ */
+extern volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
+
+/**
+ * @brief The watchdog nanoseconds per tick.
+ *
+ * This constant is defined by the application configuration via
+ * <rtems/confdefs.h>.
+ */
+extern const uint32_t _Watchdog_Nanoseconds_per_tick;
+
+/**
+ * @brief The watchdog ticks per second.
+ *
+ * This constant is defined by the application configuration via
+ * <rtems/confdefs.h>.
+ */
+extern const uint32_t _Watchdog_Ticks_per_second;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/score/src/watchdogtickssinceboot.c b/cpukit/score/src/watchdogtickssinceboot.c
index 668348c0d5..0857d0ef73 100644
--- a/cpukit/score/src/watchdogtickssinceboot.c
+++ b/cpukit/score/src/watchdogtickssinceboot.c
@@ -18,7 +18,7 @@
#include "config.h"
#endif
-#include <rtems/score/watchdog.h>
+#include <rtems/score/watchdogticks.h>
/*
* This is defined in a separate module to allow the new network to define it