From ccc6695c843e8cb83df4dd8e6b1dc43c9df33216 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 8 Nov 2018 11:50:24 +0100 Subject: score: Introduce Separate the definitions related to watchdog ticks from the watchdog structures. Update #3598. --- cpukit/headers.am | 1 + cpukit/include/rtems/config.h | 2 +- cpukit/include/rtems/rtems/clock.h | 1 - cpukit/include/rtems/rtems/ratemon.h | 1 - cpukit/include/rtems/rtems/types.h | 2 +- cpukit/include/rtems/score/mppkt.h | 2 +- cpukit/include/rtems/score/threadq.h | 4 +- cpukit/include/rtems/score/watchdog.h | 39 ++-------------- cpukit/include/rtems/score/watchdogimpl.h | 1 + cpukit/include/rtems/score/watchdogticks.h | 73 ++++++++++++++++++++++++++++++ cpukit/score/src/watchdogtickssinceboot.c | 2 +- 11 files changed, 85 insertions(+), 43 deletions(-) create mode 100644 cpukit/include/rtems/score/watchdogticks.h 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 #include -#include +#include #include #include #include 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 #include #include #include 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 #include -#include 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 #include #include -#include +#include #include #if defined(RTEMS_MULTIPROCESSING) #include 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 #include -#include +#include #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 #include #include -#include +#include #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 * @@ -45,18 +47,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. * @@ -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 - * . - */ -extern const uint32_t _Watchdog_Nanoseconds_per_tick; - -/** - * @brief The watchdog ticks per second. - * - * This constant is defined by the application configuration via - * . - */ -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 +#include #include #include #include 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 + +#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 + * . + */ +extern const uint32_t _Watchdog_Nanoseconds_per_tick; + +/** + * @brief The watchdog ticks per second. + * + * This constant is defined by the application configuration via + * . + */ +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 +#include /* * This is defined in a separate module to allow the new network to define it -- cgit v1.2.3