From 4b48ece07d4aef3d43cf1865944f0cd1ca4a7b6c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 22 Jul 2013 10:21:03 +0200 Subject: score: Create watchdog implementation header Move implementation specific parts of watchdog.h and watchdog.inl into new header file watchdogimpl.h. The watchdog.h contains now only the application visible API. --- cpukit/libmisc/capture/capture-cli.c | 2 +- cpukit/libmisc/capture/capture.c | 2 +- cpukit/libmisc/cpuuse/cpuusagereport.c | 1 + cpukit/libmisc/cpuuse/cpuusagereset.c | 1 + cpukit/posix/src/alarm.c | 1 + cpukit/posix/src/nanosleep.c | 1 + cpukit/posix/src/psignal.c | 1 + cpukit/posix/src/psignalunblockthread.c | 1 + cpukit/posix/src/pthread.c | 1 + cpukit/posix/src/pthreadcreate.c | 1 + cpukit/posix/src/pthreadsetschedparam.c | 1 + cpukit/posix/src/timercreate.c | 1 + cpukit/posix/src/timerdelete.c | 1 + cpukit/posix/src/timergettime.c | 1 + cpukit/posix/src/timerinserthelper.c | 2 +- cpukit/posix/src/timersettime.c | 1 + cpukit/posix/src/ualarm.c | 1 + cpukit/rtems/src/clockgettickssinceboot.c | 2 +- cpukit/rtems/src/clocksetnsecshandler.c | 2 +- cpukit/rtems/src/clocktick.c | 2 +- cpukit/rtems/src/eventseize.c | 1 + cpukit/rtems/src/eventsurrender.c | 1 + cpukit/rtems/src/ratemoncancel.c | 1 + cpukit/rtems/src/ratemoncreate.c | 1 + cpukit/rtems/src/ratemondelete.c | 1 + cpukit/rtems/src/ratemonperiod.c | 1 + cpukit/rtems/src/ratemontimeout.c | 1 + cpukit/rtems/src/taskwakeafter.c | 1 + cpukit/rtems/src/taskwakewhen.c | 1 + cpukit/rtems/src/timercancel.c | 2 +- cpukit/rtems/src/timercreate.c | 2 +- cpukit/rtems/src/timerdelete.c | 2 +- cpukit/rtems/src/timerfireafter.c | 2 +- cpukit/rtems/src/timerfirewhen.c | 2 +- cpukit/rtems/src/timerreset.c | 2 +- cpukit/rtems/src/timerserver.c | 2 +- cpukit/rtems/src/timerserverfireafter.c | 2 +- cpukit/rtems/src/timerserverfirewhen.c | 2 +- cpukit/sapi/src/exinit.c | 2 +- cpukit/score/Makefile.am | 2 +- cpukit/score/include/rtems/score/watchdog.h | 243 +----------- cpukit/score/include/rtems/score/watchdogimpl.h | 476 +++++++++++++++++++++++ cpukit/score/inline/rtems/score/watchdog.inl | 262 ------------- cpukit/score/preinstall.am | 8 +- cpukit/score/src/corespinlockwait.c | 1 - cpukit/score/src/coretodget.c | 2 +- cpukit/score/src/coretodset.c | 2 +- cpukit/score/src/coretodtickle.c | 2 +- cpukit/score/src/schedulercbsreleasejob.c | 1 + cpukit/score/src/schedulercbsunblock.c | 1 + cpukit/score/src/scheduleredfprioritycompare.c | 1 + cpukit/score/src/scheduleredfreleasejob.c | 1 + cpukit/score/src/threadblockingoperationcancel.c | 1 + cpukit/score/src/threadclose.c | 1 + cpukit/score/src/threadinitialize.c | 2 +- cpukit/score/src/threadqdequeuefifo.c | 1 + cpukit/score/src/threadqdequeuepriority.c | 1 + cpukit/score/src/threadqenqueue.c | 1 + cpukit/score/src/threadqextractfifo.c | 1 + cpukit/score/src/threadqextractpriority.c | 1 + cpukit/score/src/threadreset.c | 1 + cpukit/score/src/watchdog.c | 2 +- cpukit/score/src/watchdogadjust.c | 2 +- cpukit/score/src/watchdogadjusttochain.c | 2 +- cpukit/score/src/watchdoginsert.c | 2 +- cpukit/score/src/watchdognanoseconds.c | 2 +- cpukit/score/src/watchdogremove.c | 2 +- cpukit/score/src/watchdogreport.c | 2 +- cpukit/score/src/watchdogreportchain.c | 2 +- cpukit/score/src/watchdogtickle.c | 2 +- testsuites/sptests/sp20/task1.c | 2 + testsuites/sptests/sp67/init.c | 2 + testsuites/sptests/spedfsched02/task1.c | 2 + testsuites/sptests/spintrcritical09/init.c | 1 + testsuites/sptests/spsize/size.c | 1 + testsuites/sptests/spwatchdog/init.c | 2 + testsuites/sptests/spwatchdog/task1.c | 2 + 77 files changed, 573 insertions(+), 524 deletions(-) create mode 100644 cpukit/score/include/rtems/score/watchdogimpl.h delete mode 100644 cpukit/score/inline/rtems/score/watchdog.inl diff --git a/cpukit/libmisc/capture/capture-cli.c b/cpukit/libmisc/capture/capture-cli.c index a0326b7489..4cf9b6b4c0 100644 --- a/cpukit/libmisc/capture/capture-cli.c +++ b/cpukit/libmisc/capture/capture-cli.c @@ -233,7 +233,7 @@ rtems_capture_cli_task_list (int argc __attribute__((un capture_timestamp (&ticks, &tick_offset); else { - ticks = _Watchdog_Ticks_since_boot; + ticks = rtems_clock_get_ticks_since_boot(); tick_offset = 0; } diff --git a/cpukit/libmisc/capture/capture.c b/cpukit/libmisc/capture/capture.c index d3f8c5b39c..c31a0790fc 100644 --- a/cpukit/libmisc/capture/capture.c +++ b/cpukit/libmisc/capture/capture.c @@ -121,7 +121,7 @@ static inline void rtems_capture_get_time (uint32_t* ticks, capture_timestamp (ticks, tick_offset); else { - *ticks = _Watchdog_Ticks_since_boot; + *ticks = rtems_clock_get_ticks_since_boot(); *tick_offset = 0; } } diff --git a/cpukit/libmisc/cpuuse/cpuusagereport.c b/cpukit/libmisc/cpuuse/cpuusagereport.c index 238d91a21d..5579b1bff2 100644 --- a/cpukit/libmisc/cpuuse/cpuusagereport.c +++ b/cpukit/libmisc/cpuuse/cpuusagereport.c @@ -25,6 +25,7 @@ #include #include +#include #ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__ static bool is_executing_on_a_core( diff --git a/cpukit/libmisc/cpuuse/cpuusagereset.c b/cpukit/libmisc/cpuuse/cpuusagereset.c index 749eae2628..77bd095ffa 100644 --- a/cpukit/libmisc/cpuuse/cpuusagereset.c +++ b/cpukit/libmisc/cpuuse/cpuusagereset.c @@ -23,6 +23,7 @@ #include #include +#include static void CPU_usage_Per_thread_handler( Thread_Control *the_thread diff --git a/cpukit/posix/src/alarm.c b/cpukit/posix/src/alarm.c index 98edcb7a15..190a7fbd5b 100644 --- a/cpukit/posix/src/alarm.c +++ b/cpukit/posix/src/alarm.c @@ -24,6 +24,7 @@ #include #include +#include #include #include diff --git a/cpukit/posix/src/nanosleep.c b/cpukit/posix/src/nanosleep.c index 7d37480218..1476c17c51 100644 --- a/cpukit/posix/src/nanosleep.c +++ b/cpukit/posix/src/nanosleep.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/cpukit/posix/src/psignal.c b/cpukit/posix/src/psignal.c index 0f0c5e7758..a8f1a28b22 100644 --- a/cpukit/posix/src/psignal.c +++ b/cpukit/posix/src/psignal.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/posix/src/psignalunblockthread.c b/cpukit/posix/src/psignalunblockthread.c index 34816fa889..cbdbd38c66 100644 --- a/cpukit/posix/src/psignalunblockthread.c +++ b/cpukit/posix/src/psignalunblockthread.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/posix/src/pthread.c b/cpukit/posix/src/pthread.c index a82b0363eb..3df7478779 100644 --- a/cpukit/posix/src/pthread.c +++ b/cpukit/posix/src/pthread.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/posix/src/pthreadcreate.c b/cpukit/posix/src/pthreadcreate.c index 0414fd7603..fcac8d4e91 100644 --- a/cpukit/posix/src/pthreadcreate.c +++ b/cpukit/posix/src/pthreadcreate.c @@ -30,6 +30,7 @@ #include #include #include +#include static inline size_t _POSIX_Threads_Ensure_minimum_stack ( size_t size diff --git a/cpukit/posix/src/pthreadsetschedparam.c b/cpukit/posix/src/pthreadsetschedparam.c index 393c41f3d7..a8ac4458dd 100644 --- a/cpukit/posix/src/pthreadsetschedparam.c +++ b/cpukit/posix/src/pthreadsetschedparam.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include diff --git a/cpukit/posix/src/timercreate.c b/cpukit/posix/src/timercreate.c index 8316e58398..3af7fc4459 100644 --- a/cpukit/posix/src/timercreate.c +++ b/cpukit/posix/src/timercreate.c @@ -30,6 +30,7 @@ #include #include #include +#include int timer_create( clockid_t clock_id, diff --git a/cpukit/posix/src/timerdelete.c b/cpukit/posix/src/timerdelete.c index 686dc78f1d..eaf7369d8c 100644 --- a/cpukit/posix/src/timerdelete.c +++ b/cpukit/posix/src/timerdelete.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include diff --git a/cpukit/posix/src/timergettime.c b/cpukit/posix/src/timergettime.c index b000ed4b47..40f0f610fa 100644 --- a/cpukit/posix/src/timergettime.c +++ b/cpukit/posix/src/timergettime.c @@ -28,6 +28,7 @@ #include #include #include +#include #include /* diff --git a/cpukit/posix/src/timerinserthelper.c b/cpukit/posix/src/timerinserthelper.c index 66b3e9b007..3c900db9c2 100644 --- a/cpukit/posix/src/timerinserthelper.c +++ b/cpukit/posix/src/timerinserthelper.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include diff --git a/cpukit/posix/src/timersettime.c b/cpukit/posix/src/timersettime.c index ae29e3d582..2b7f07403f 100644 --- a/cpukit/posix/src/timersettime.c +++ b/cpukit/posix/src/timersettime.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/posix/src/ualarm.c b/cpukit/posix/src/ualarm.c index 01b842344b..74bfe8f557 100644 --- a/cpukit/posix/src/ualarm.c +++ b/cpukit/posix/src/ualarm.c @@ -22,6 +22,7 @@ /* #include */ #include +#include #include #include #include diff --git a/cpukit/rtems/src/clockgettickssinceboot.c b/cpukit/rtems/src/clockgettickssinceboot.c index cfd91b5c57..340b4bc385 100644 --- a/cpukit/rtems/src/clockgettickssinceboot.c +++ b/cpukit/rtems/src/clockgettickssinceboot.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include rtems_interval rtems_clock_get_ticks_since_boot(void) { diff --git a/cpukit/rtems/src/clocksetnsecshandler.c b/cpukit/rtems/src/clocksetnsecshandler.c index 80cf1dd8e6..8b79d0c228 100644 --- a/cpukit/rtems/src/clocksetnsecshandler.c +++ b/cpukit/rtems/src/clocksetnsecshandler.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include /* * rtems_clock_set_nanoseconds_extension diff --git a/cpukit/rtems/src/clocktick.c b/cpukit/rtems/src/clocktick.c index 8467fd6cf0..5e46e94ee5 100644 --- a/cpukit/rtems/src/clocktick.c +++ b/cpukit/rtems/src/clocktick.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include rtems_status_code rtems_clock_tick( void ) { diff --git a/cpukit/rtems/src/eventseize.c b/cpukit/rtems/src/eventseize.c index 4cb1f80d69..f7a98adcdf 100644 --- a/cpukit/rtems/src/eventseize.c +++ b/cpukit/rtems/src/eventseize.c @@ -19,6 +19,7 @@ #endif #include +#include /* * INTERRUPT LATENCY: diff --git a/cpukit/rtems/src/eventsurrender.c b/cpukit/rtems/src/eventsurrender.c index bfa29c425a..0f72f5ab3c 100644 --- a/cpukit/rtems/src/eventsurrender.c +++ b/cpukit/rtems/src/eventsurrender.c @@ -19,6 +19,7 @@ #endif #include +#include void _Event_Surrender( Thread_Control *the_thread, diff --git a/cpukit/rtems/src/ratemoncancel.c b/cpukit/rtems/src/ratemoncancel.c index 4a2e49c9c1..d50f80177e 100644 --- a/cpukit/rtems/src/ratemoncancel.c +++ b/cpukit/rtems/src/ratemoncancel.c @@ -25,6 +25,7 @@ #include #include #include +#include rtems_status_code rtems_rate_monotonic_cancel( rtems_id id diff --git a/cpukit/rtems/src/ratemoncreate.c b/cpukit/rtems/src/ratemoncreate.c index 2e5e975d5d..ae60514ab9 100644 --- a/cpukit/rtems/src/ratemoncreate.c +++ b/cpukit/rtems/src/ratemoncreate.c @@ -25,6 +25,7 @@ #include #include #include +#include /* * rtems_rate_monotonic_create diff --git a/cpukit/rtems/src/ratemondelete.c b/cpukit/rtems/src/ratemondelete.c index 35ee9c4ff6..e1d732ea3c 100644 --- a/cpukit/rtems/src/ratemondelete.c +++ b/cpukit/rtems/src/ratemondelete.c @@ -25,6 +25,7 @@ #include #include #include +#include rtems_status_code rtems_rate_monotonic_delete( rtems_id id diff --git a/cpukit/rtems/src/ratemonperiod.c b/cpukit/rtems/src/ratemonperiod.c index 2018123e25..fc74aa2c8b 100644 --- a/cpukit/rtems/src/ratemonperiod.c +++ b/cpukit/rtems/src/ratemonperiod.c @@ -25,6 +25,7 @@ #include #include #include +#include bool _Rate_monotonic_Get_status( Rate_monotonic_Control *the_period, diff --git a/cpukit/rtems/src/ratemontimeout.c b/cpukit/rtems/src/ratemontimeout.c index 59461d1526..70d119af88 100644 --- a/cpukit/rtems/src/ratemontimeout.c +++ b/cpukit/rtems/src/ratemontimeout.c @@ -25,6 +25,7 @@ #include #include #include +#include void _Rate_monotonic_Timeout( Objects_Id id, diff --git a/cpukit/rtems/src/taskwakeafter.c b/cpukit/rtems/src/taskwakeafter.c index 665423409b..7bf4c88f1f 100644 --- a/cpukit/rtems/src/taskwakeafter.c +++ b/cpukit/rtems/src/taskwakeafter.c @@ -33,6 +33,7 @@ #include #include #include +#include rtems_status_code rtems_task_wake_after( rtems_interval ticks diff --git a/cpukit/rtems/src/taskwakewhen.c b/cpukit/rtems/src/taskwakewhen.c index ffa5ddcaeb..4f6204ac25 100644 --- a/cpukit/rtems/src/taskwakewhen.c +++ b/cpukit/rtems/src/taskwakewhen.c @@ -33,6 +33,7 @@ #include #include #include +#include rtems_status_code rtems_task_wake_when( rtems_time_of_day *time_buffer diff --git a/cpukit/rtems/src/timercancel.c b/cpukit/rtems/src/timercancel.c index 01f583d0b2..84eaee040d 100644 --- a/cpukit/rtems/src/timercancel.c +++ b/cpukit/rtems/src/timercancel.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include /* * rtems_timer_cancel diff --git a/cpukit/rtems/src/timercreate.c b/cpukit/rtems/src/timercreate.c index f37b9e18c0..5968fb0316 100644 --- a/cpukit/rtems/src/timercreate.c +++ b/cpukit/rtems/src/timercreate.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include rtems_status_code rtems_timer_create( rtems_name name, diff --git a/cpukit/rtems/src/timerdelete.c b/cpukit/rtems/src/timerdelete.c index a9e4e3245b..7d3a722ad7 100644 --- a/cpukit/rtems/src/timerdelete.c +++ b/cpukit/rtems/src/timerdelete.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include rtems_status_code rtems_timer_delete( rtems_id id diff --git a/cpukit/rtems/src/timerfireafter.c b/cpukit/rtems/src/timerfireafter.c index 2c34797126..62cc2172e2 100644 --- a/cpukit/rtems/src/timerfireafter.c +++ b/cpukit/rtems/src/timerfireafter.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include rtems_status_code rtems_timer_fire_after( rtems_id id, diff --git a/cpukit/rtems/src/timerfirewhen.c b/cpukit/rtems/src/timerfirewhen.c index 9bd786b5b3..2cdfc9842a 100644 --- a/cpukit/rtems/src/timerfirewhen.c +++ b/cpukit/rtems/src/timerfirewhen.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include rtems_status_code rtems_timer_fire_when( rtems_id id, diff --git a/cpukit/rtems/src/timerreset.c b/cpukit/rtems/src/timerreset.c index 23ebb46744..4afcbb2762 100644 --- a/cpukit/rtems/src/timerreset.c +++ b/cpukit/rtems/src/timerreset.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include /* * rtems_timer_reset diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c index c7570985d8..ef32f00f70 100644 --- a/cpukit/rtems/src/timerserver.c +++ b/cpukit/rtems/src/timerserver.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include diff --git a/cpukit/rtems/src/timerserverfireafter.c b/cpukit/rtems/src/timerserverfireafter.c index 27d52c2c00..c34a7e3bc0 100644 --- a/cpukit/rtems/src/timerserverfireafter.c +++ b/cpukit/rtems/src/timerserverfireafter.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include rtems_status_code rtems_timer_server_fire_after( rtems_id id, diff --git a/cpukit/rtems/src/timerserverfirewhen.c b/cpukit/rtems/src/timerserverfirewhen.c index a27095fb48..228c75dd76 100644 --- a/cpukit/rtems/src/timerserverfirewhen.c +++ b/cpukit/rtems/src/timerserverfirewhen.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include /* * rtems_timer_server_fire_when diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index 5d1419cdb2..f83bf30c61 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -52,7 +52,7 @@ #include #include #include -#include +#include #include #include diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index 9417227e3f..cb5628ab63 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -62,6 +62,7 @@ include_rtems_score_HEADERS += include/rtems/score/tqdata.h 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/wkspace.h include_rtems_score_HEADERS += include/rtems/score/cpuopts.h include_rtems_score_HEADERS += include/rtems/score/basedefs.h @@ -106,7 +107,6 @@ include_rtems_score_HEADERS += inline/rtems/score/thread.inl include_rtems_score_HEADERS += inline/rtems/score/threadq.inl include_rtems_score_HEADERS += inline/rtems/score/tod.inl include_rtems_score_HEADERS += inline/rtems/score/tqdata.inl -include_rtems_score_HEADERS += inline/rtems/score/watchdog.inl include_rtems_score_HEADERS += inline/rtems/score/wkspace.inl if HAS_MP diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h index 6dd0b5d0ce..b67e5ca28c 100644 --- a/cpukit/score/include/rtems/score/watchdog.h +++ b/cpukit/score/include/rtems/score/watchdog.h @@ -20,6 +20,12 @@ #ifndef _RTEMS_SCORE_WATCHDOG_H #define _RTEMS_SCORE_WATCHDOG_H +#include + +#ifdef __cplusplus +extern "C" { +#endif + /** * @defgroup ScoreWatchdog Watchdog Handler * @@ -33,20 +39,6 @@ */ /**@{*/ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Control block used to manage intervals. - * - * The following type defines the control block used to manage - * intervals. - */ -#define WATCHDOG_MAXIMUM_INTERVAL ((Watchdog_Interval) 0xffffffff) - /** * @brief Type is used to specify the length of intervals. * @@ -54,15 +46,6 @@ extern "C" { */ typedef uint32_t Watchdog_Interval; -/** - * @brief Pointer to the BSP plugin to obtain the number - * of nanoseconds since the last clock tick. - * - * This type defines a pointer to the BSP plugin to obtain the number - * of nanoseconds since the last clock tick. - */ -typedef uint32_t (*Watchdog_Nanoseconds_since_last_tick_routine)(void); - /** * @brief Return type from a Watchdog Service Routine. * @@ -80,6 +63,15 @@ typedef Watchdog_Service_routine ( *Watchdog_Service_routine_entry )( void * ); +/** + * @brief Pointer to the BSP plugin to obtain the number + * of nanoseconds since the last clock tick. + * + * This type defines a pointer to the BSP plugin to obtain the number + * of nanoseconds since the last clock tick. + */ +typedef uint32_t (*Watchdog_Nanoseconds_since_last_tick_routine)(void); + /** * @brief The constant for indefinite wait. * @@ -110,22 +102,6 @@ typedef enum { WATCHDOG_REMOVE_IT } Watchdog_States; -/** - * @brief the manner in which a watchdog chain may - * be adjusted by the @ref _Watchdog_Adjust routine. - * - * The following enumerated type details the manner in which - * a watchdog chain may be adjusted by the @ref _Watchdog_Adjust - * routine. The direction indicates a movement FORWARD - * or BACKWARD in time. - */ -typedef enum { - /** adjust delta value forward */ - WATCHDOG_FORWARD, - /** adjust delta value backward */ - WATCHDOG_BACKWARD -} Watchdog_Adjust_directions; - /** * @brief The control block used to manage each watchdog timer. * @@ -157,198 +133,11 @@ typedef struct { void *user_data; } Watchdog_Control; -/** - * @brief Watchdog synchronization level. - * - * This used for synchronization purposes - * during an insert on a watchdog delta chain. - */ -SCORE_EXTERN volatile uint32_t _Watchdog_Sync_level; - -/** - * @brief Watchdog synchronization count. - * - * This used for synchronization purposes - * during an insert on a watchdog delta chain. - */ -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 The number of nanoseconds since the last clock tick. - * - * This is a pointer to the optional BSP plugin to obtain the number - * of nanoseconds since the last clock tick. - */ -extern Watchdog_Nanoseconds_since_last_tick_routine - _Watchdog_Nanoseconds_since_tick_handler; - -/** - * @brief Watchdog chain which is managed at ticks. - * - * This is the watchdog chain which is managed at ticks. - */ -SCORE_EXTERN Chain_Control _Watchdog_Ticks_chain; - -/** - * @brief Watchdog chain which is managed at second boundaries. - * - * This is the watchdog chain which is managed at second boundaries. - */ -SCORE_EXTERN Chain_Control _Watchdog_Seconds_chain; - -/** - * @brief Initialize the watchdog handler. - * - * This routine initializes the watchdog handler. The watchdog - * synchronization flag is initialized and the watchdog chains are - * initialized and emptied. - */ -void _Watchdog_Handler_initialization( void ); - -/** - * @brief Removes @a the_watchdog from the watchdog chain. - * - * This routine removes @a the_watchdog from the watchdog chain on which - * it resides and returns the state @a the_watchdog timer was in. - * - * @param[in] the_watchdog will be removed - * @retval the state in which @a the_watchdog was in when removed - */ -Watchdog_States _Watchdog_Remove ( - Watchdog_Control *the_watchdog -); - -/** - * @brief Adjusts the @a header watchdog chain in the forward - * or backward @a direction for @a units ticks. - * - * This routine adjusts the @a header watchdog chain in the forward - * or backward @a direction for @a units ticks. - * - * @param[in] header is the watchdog chain to adjust - * @param[in] direction is the direction to adjust @a header - * @param[in] units is the number of units to adjust @a header - */ -void _Watchdog_Adjust ( - Chain_Control *header, - Watchdog_Adjust_directions direction, - Watchdog_Interval units -); - -/** - * @brief Adjusts the @a header watchdog chain in the forward - * @a direction for @a units_arg ticks. - * - * This routine adjusts the @a header watchdog chain in the forward - * @a direction for @a units_arg ticks. - * - * @param[in] header is the watchdog chain to adjust - * @param[in] units_arg is the number of units to adjust @a header - * @param[in] to_fire is a pointer to an initialized Chain_Control to which - * all watchdog instances that are to be fired will be placed. - * - * @note This always adjusts forward. - */ -void _Watchdog_Adjust_to_chain( - Chain_Control *header, - Watchdog_Interval units_arg, - Chain_Control *to_fire - -); - -/** - * @brief Inserts @a the_watchdog into the @a header watchdog chain - * for a time of @a units. - * - * This routine inserts @a the_watchdog into the @a header watchdog chain - * for a time of @a units. - * Update the delta interval counters. - * - * @param[in] header is @a the_watchdog list to insert @a the_watchdog on - * @param[in] the_watchdog is the watchdog to insert - */ -void _Watchdog_Insert ( - Chain_Control *header, - Watchdog_Control *the_watchdog -); - -/** - * @brief This routine is invoked at appropriate intervals to update - * the @a header watchdog chain. - * - * This routine is invoked at appropriate intervals to update - * the @a header watchdog chain. - * This routine decrements the delta counter in response to a tick. - * - * @param[in] header is the watchdog chain to tickle - */ -void _Watchdog_Tickle ( - Chain_Control *header -); - -/** - * @brief Report information on a single watchdog instance. - * - * This method prints a one line report on the watchdog instance - * provided. The @a name may be used to identify the watchdog and - * a space will be printed after @a name if it is not NULL. - * - * @param[in] name is a string to prefix the line with. If NULL, - * nothing is printed. - * @param[in] watch is the watchdog instance to be printed. - * - * @note This is a debug routine. It uses printk() and prudence should - * exercised when using it. - */ -void _Watchdog_Report( - const char *name, - Watchdog_Control *watch -); - -/** - * @brief Report information on a watchdog chain. - * - * This method prints report on the watchdog chain provided. - * The @a name may be used to identify the watchdog chain and - * a space will be printed after @a name if it is not NULL. - * - * @param[in] name is a string to prefix the line with. If NULL, - * nothing is printed. - * @param[in] header is the watchdog chain to be printed. - * - * @note This is a debug routine. It uses printk() and prudence should - * exercised when using it. It also disables interrupts so the - * chain can be traversed in a single atomic pass. - */ -void _Watchdog_Report_chain( - const char *name, - Chain_Control *header -); - -/** - * @brief Handler for default nanoseconds since last tick. - * - * @retval 0 Always. - */ -uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void ); - -#ifndef __RTEMS_APPLICATION__ -#include -#endif +/**@}*/ #ifdef __cplusplus } #endif -/**@}*/ - #endif /* end of include file */ diff --git a/cpukit/score/include/rtems/score/watchdogimpl.h b/cpukit/score/include/rtems/score/watchdogimpl.h new file mode 100644 index 0000000000..e0324ff257 --- /dev/null +++ b/cpukit/score/include/rtems/score/watchdogimpl.h @@ -0,0 +1,476 @@ +/** + * @file + * + * @brief Inlined Routines in the Watchdog Handler + * + * This file contains the static inline implementation of all inlined + * routines in the Watchdog Handler. + */ + +/* + * COPYRIGHT (c) 1989-2004. + * 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.com/license/LICENSE. + */ + +#ifndef _RTEMS_SCORE_WATCHDOGIMPL_H +#define _RTEMS_SCORE_WATCHDOGIMPL_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup ScoreWatchdog + * @{ + */ + +/** + * @brief Control block used to manage intervals. + * + * The following type defines the control block used to manage + * intervals. + */ +#define WATCHDOG_MAXIMUM_INTERVAL ((Watchdog_Interval) 0xffffffff) + +/** + * @brief the manner in which a watchdog chain may + * be adjusted by the @ref _Watchdog_Adjust routine. + * + * The following enumerated type details the manner in which + * a watchdog chain may be adjusted by the @ref _Watchdog_Adjust + * routine. The direction indicates a movement FORWARD + * or BACKWARD in time. + */ +typedef enum { + /** adjust delta value forward */ + WATCHDOG_FORWARD, + /** adjust delta value backward */ + WATCHDOG_BACKWARD +} Watchdog_Adjust_directions; + +/** + * @brief Watchdog synchronization level. + * + * This used for synchronization purposes + * during an insert on a watchdog delta chain. + */ +SCORE_EXTERN volatile uint32_t _Watchdog_Sync_level; + +/** + * @brief Watchdog synchronization count. + * + * This used for synchronization purposes + * during an insert on a watchdog delta chain. + */ +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 The number of nanoseconds since the last clock tick. + * + * This is a pointer to the optional BSP plugin to obtain the number + * of nanoseconds since the last clock tick. + */ +extern Watchdog_Nanoseconds_since_last_tick_routine + _Watchdog_Nanoseconds_since_tick_handler; + +/** + * @brief Watchdog chain which is managed at ticks. + * + * This is the watchdog chain which is managed at ticks. + */ +SCORE_EXTERN Chain_Control _Watchdog_Ticks_chain; + +/** + * @brief Watchdog chain which is managed at second boundaries. + * + * This is the watchdog chain which is managed at second boundaries. + */ +SCORE_EXTERN Chain_Control _Watchdog_Seconds_chain; + +/** + * @brief Initialize the watchdog handler. + * + * This routine initializes the watchdog handler. The watchdog + * synchronization flag is initialized and the watchdog chains are + * initialized and emptied. + */ +void _Watchdog_Handler_initialization( void ); + +/** + * @brief Removes @a the_watchdog from the watchdog chain. + * + * This routine removes @a the_watchdog from the watchdog chain on which + * it resides and returns the state @a the_watchdog timer was in. + * + * @param[in] the_watchdog will be removed + * @retval the state in which @a the_watchdog was in when removed + */ +Watchdog_States _Watchdog_Remove ( + Watchdog_Control *the_watchdog +); + +/** + * @brief Adjusts the @a header watchdog chain in the forward + * or backward @a direction for @a units ticks. + * + * This routine adjusts the @a header watchdog chain in the forward + * or backward @a direction for @a units ticks. + * + * @param[in] header is the watchdog chain to adjust + * @param[in] direction is the direction to adjust @a header + * @param[in] units is the number of units to adjust @a header + */ +void _Watchdog_Adjust ( + Chain_Control *header, + Watchdog_Adjust_directions direction, + Watchdog_Interval units +); + +/** + * @brief Adjusts the @a header watchdog chain in the forward + * @a direction for @a units_arg ticks. + * + * This routine adjusts the @a header watchdog chain in the forward + * @a direction for @a units_arg ticks. + * + * @param[in] header is the watchdog chain to adjust + * @param[in] units_arg is the number of units to adjust @a header + * @param[in] to_fire is a pointer to an initialized Chain_Control to which + * all watchdog instances that are to be fired will be placed. + * + * @note This always adjusts forward. + */ +void _Watchdog_Adjust_to_chain( + Chain_Control *header, + Watchdog_Interval units_arg, + Chain_Control *to_fire + +); + +/** + * @brief Inserts @a the_watchdog into the @a header watchdog chain + * for a time of @a units. + * + * This routine inserts @a the_watchdog into the @a header watchdog chain + * for a time of @a units. + * Update the delta interval counters. + * + * @param[in] header is @a the_watchdog list to insert @a the_watchdog on + * @param[in] the_watchdog is the watchdog to insert + */ +void _Watchdog_Insert ( + Chain_Control *header, + Watchdog_Control *the_watchdog +); + +/** + * @brief This routine is invoked at appropriate intervals to update + * the @a header watchdog chain. + * + * This routine is invoked at appropriate intervals to update + * the @a header watchdog chain. + * This routine decrements the delta counter in response to a tick. + * + * @param[in] header is the watchdog chain to tickle + */ +void _Watchdog_Tickle ( + Chain_Control *header +); + +/** + * @brief Report information on a single watchdog instance. + * + * This method prints a one line report on the watchdog instance + * provided. The @a name may be used to identify the watchdog and + * a space will be printed after @a name if it is not NULL. + * + * @param[in] name is a string to prefix the line with. If NULL, + * nothing is printed. + * @param[in] watch is the watchdog instance to be printed. + * + * @note This is a debug routine. It uses printk() and prudence should + * exercised when using it. + */ +void _Watchdog_Report( + const char *name, + Watchdog_Control *watch +); + +/** + * @brief Report information on a watchdog chain. + * + * This method prints report on the watchdog chain provided. + * The @a name may be used to identify the watchdog chain and + * a space will be printed after @a name if it is not NULL. + * + * @param[in] name is a string to prefix the line with. If NULL, + * nothing is printed. + * @param[in] header is the watchdog chain to be printed. + * + * @note This is a debug routine. It uses printk() and prudence should + * exercised when using it. It also disables interrupts so the + * chain can be traversed in a single atomic pass. + */ +void _Watchdog_Report_chain( + const char *name, + Chain_Control *header +); + +/** + * @brief Handler for default nanoseconds since last tick. + * + * @retval 0 Always. + */ +uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void ); + +/** + * This routine initializes the specified watchdog. The watchdog is + * made inactive, the watchdog id and handler routine are set to the + * specified values. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Initialize( + Watchdog_Control *the_watchdog, + Watchdog_Service_routine_entry routine, + Objects_Id id, + void *user_data +) +{ + the_watchdog->state = WATCHDOG_INACTIVE; + the_watchdog->routine = routine; + the_watchdog->id = id; + the_watchdog->user_data = user_data; +} + +/** + * This routine returns true if the watchdog timer is in the ACTIVE + * state, and false otherwise. + */ + +RTEMS_INLINE_ROUTINE bool _Watchdog_Is_active( + Watchdog_Control *the_watchdog +) +{ + + return ( the_watchdog->state == WATCHDOG_ACTIVE ); + +} + +/** + * This routine activates THE_WATCHDOG timer which is already + * on a watchdog chain. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Activate( + Watchdog_Control *the_watchdog +) +{ + + the_watchdog->state = WATCHDOG_ACTIVE; + +} + +/** + * This routine deactivates THE_WATCHDOG timer which will remain + * on a watchdog chain. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Deactivate( + Watchdog_Control *the_watchdog +) +{ + + the_watchdog->state = WATCHDOG_REMOVE_IT; + +} + +/** + * This routine is invoked at each clock tick to update the ticks + * watchdog chain. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_ticks( void ) +{ + + _Watchdog_Tickle( &_Watchdog_Ticks_chain ); + +} + +/** + * This routine is invoked at each clock tick to update the seconds + * watchdog chain. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_seconds( void ) +{ + + _Watchdog_Tickle( &_Watchdog_Seconds_chain ); + +} + +/** + * This routine inserts THE_WATCHDOG into the ticks watchdog chain + * for a time of UNITS ticks. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Insert_ticks( + Watchdog_Control *the_watchdog, + Watchdog_Interval units +) +{ + + the_watchdog->initial = units; + + _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); + +} + +/** + * This routine inserts THE_WATCHDOG into the seconds watchdog chain + * for a time of UNITS seconds. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Insert_seconds( + Watchdog_Control *the_watchdog, + Watchdog_Interval units +) +{ + + the_watchdog->initial = units; + + _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog ); + +} + +/** + * This routine adjusts the seconds watchdog chain in the forward + * or backward DIRECTION for UNITS seconds. This is invoked when the + * current time of day is changed. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_seconds( + Watchdog_Adjust_directions direction, + Watchdog_Interval units +) +{ + + _Watchdog_Adjust( &_Watchdog_Seconds_chain, direction, units ); + +} + +/** + * This routine adjusts the ticks watchdog chain in the forward + * or backward DIRECTION for UNITS ticks. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_ticks( + Watchdog_Adjust_directions direction, + Watchdog_Interval units +) +{ + + _Watchdog_Adjust( &_Watchdog_Ticks_chain, direction, units ); + +} + +/** + * This routine resets THE_WATCHDOG timer to its state at INSERT + * time. This routine is valid only on interval watchdog timers + * and is used to make an interval watchdog timer fire "every" so + * many ticks. + */ + +RTEMS_INLINE_ROUTINE void _Watchdog_Reset( + Watchdog_Control *the_watchdog +) +{ + + (void) _Watchdog_Remove( the_watchdog ); + + _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); + +} + +/** + * This routine returns a pointer to the watchdog timer following + * THE_WATCHDOG on the watchdog chain. + */ + +RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Next( + Watchdog_Control *the_watchdog +) +{ + + return ( (Watchdog_Control *) the_watchdog->Node.next ); + +} + +/** + * This routine returns a pointer to the watchdog timer preceding + * THE_WATCHDOG on the watchdog chain. + */ + +RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Previous( + Watchdog_Control *the_watchdog +) +{ + + return ( (Watchdog_Control *) the_watchdog->Node.previous ); + +} + +/** + * This routine returns a pointer to the first watchdog timer + * on the watchdog chain HEADER. + */ + +RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_First( + Chain_Control *header +) +{ + + return ( (Watchdog_Control *) _Chain_First( header ) ); + +} + +/** + * This routine returns a pointer to the last watchdog timer + * on the watchdog chain HEADER. + */ + +RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Last( + Chain_Control *header +) +{ + + return ( (Watchdog_Control *) _Chain_Last( header ) ); + +} + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif +/* end of include file */ diff --git a/cpukit/score/inline/rtems/score/watchdog.inl b/cpukit/score/inline/rtems/score/watchdog.inl deleted file mode 100644 index cfee466df2..0000000000 --- a/cpukit/score/inline/rtems/score/watchdog.inl +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @file - * - * @brief Inlined Routines in the Watchdog Handler - * - * This file contains the static inline implementation of all inlined - * routines in the Watchdog Handler. - */ - -/* - * COPYRIGHT (c) 1989-2004. - * 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.com/license/LICENSE. - */ - -#ifndef _RTEMS_SCORE_WATCHDOG_H -# error "Never use directly; include instead." -#endif - -#ifndef _RTEMS_SCORE_WATCHDOG_INL -#define _RTEMS_SCORE_WATCHDOG_INL - -/** - * @addtogroup ScoreWatchdog - * @{ - */ - -/** - * This routine initializes the specified watchdog. The watchdog is - * made inactive, the watchdog id and handler routine are set to the - * specified values. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Initialize( - Watchdog_Control *the_watchdog, - Watchdog_Service_routine_entry routine, - Objects_Id id, - void *user_data -) -{ - the_watchdog->state = WATCHDOG_INACTIVE; - the_watchdog->routine = routine; - the_watchdog->id = id; - the_watchdog->user_data = user_data; -} - -/** - * This routine returns true if the watchdog timer is in the ACTIVE - * state, and false otherwise. - */ - -RTEMS_INLINE_ROUTINE bool _Watchdog_Is_active( - Watchdog_Control *the_watchdog -) -{ - - return ( the_watchdog->state == WATCHDOG_ACTIVE ); - -} - -/** - * This routine activates THE_WATCHDOG timer which is already - * on a watchdog chain. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Activate( - Watchdog_Control *the_watchdog -) -{ - - the_watchdog->state = WATCHDOG_ACTIVE; - -} - -/** - * This routine deactivates THE_WATCHDOG timer which will remain - * on a watchdog chain. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Deactivate( - Watchdog_Control *the_watchdog -) -{ - - the_watchdog->state = WATCHDOG_REMOVE_IT; - -} - -/** - * This routine is invoked at each clock tick to update the ticks - * watchdog chain. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_ticks( void ) -{ - - _Watchdog_Tickle( &_Watchdog_Ticks_chain ); - -} - -/** - * This routine is invoked at each clock tick to update the seconds - * watchdog chain. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_seconds( void ) -{ - - _Watchdog_Tickle( &_Watchdog_Seconds_chain ); - -} - -/** - * This routine inserts THE_WATCHDOG into the ticks watchdog chain - * for a time of UNITS ticks. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Insert_ticks( - Watchdog_Control *the_watchdog, - Watchdog_Interval units -) -{ - - the_watchdog->initial = units; - - _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); - -} - -/** - * This routine inserts THE_WATCHDOG into the seconds watchdog chain - * for a time of UNITS seconds. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Insert_seconds( - Watchdog_Control *the_watchdog, - Watchdog_Interval units -) -{ - - the_watchdog->initial = units; - - _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog ); - -} - -/** - * This routine adjusts the seconds watchdog chain in the forward - * or backward DIRECTION for UNITS seconds. This is invoked when the - * current time of day is changed. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_seconds( - Watchdog_Adjust_directions direction, - Watchdog_Interval units -) -{ - - _Watchdog_Adjust( &_Watchdog_Seconds_chain, direction, units ); - -} - -/** - * This routine adjusts the ticks watchdog chain in the forward - * or backward DIRECTION for UNITS ticks. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_ticks( - Watchdog_Adjust_directions direction, - Watchdog_Interval units -) -{ - - _Watchdog_Adjust( &_Watchdog_Ticks_chain, direction, units ); - -} - -/** - * This routine resets THE_WATCHDOG timer to its state at INSERT - * time. This routine is valid only on interval watchdog timers - * and is used to make an interval watchdog timer fire "every" so - * many ticks. - */ - -RTEMS_INLINE_ROUTINE void _Watchdog_Reset( - Watchdog_Control *the_watchdog -) -{ - - (void) _Watchdog_Remove( the_watchdog ); - - _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog ); - -} - -/** - * This routine returns a pointer to the watchdog timer following - * THE_WATCHDOG on the watchdog chain. - */ - -RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Next( - Watchdog_Control *the_watchdog -) -{ - - return ( (Watchdog_Control *) the_watchdog->Node.next ); - -} - -/** - * This routine returns a pointer to the watchdog timer preceding - * THE_WATCHDOG on the watchdog chain. - */ - -RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Previous( - Watchdog_Control *the_watchdog -) -{ - - return ( (Watchdog_Control *) the_watchdog->Node.previous ); - -} - -/** - * This routine returns a pointer to the first watchdog timer - * on the watchdog chain HEADER. - */ - -RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_First( - Chain_Control *header -) -{ - - return ( (Watchdog_Control *) _Chain_First( header ) ); - -} - -/** - * This routine returns a pointer to the last watchdog timer - * on the watchdog chain HEADER. - */ - -RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Last( - Chain_Control *header -) -{ - - return ( (Watchdog_Control *) _Chain_Last( header ) ); - -} - -/** @} */ - -#endif -/* end of include file */ diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am index 4159f144c5..dc687dada8 100644 --- a/cpukit/score/preinstall.am +++ b/cpukit/score/preinstall.am @@ -231,6 +231,10 @@ $(PROJECT_INCLUDE)/rtems/score/watchdog.h: include/rtems/score/watchdog.h $(PROJ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/watchdog.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/watchdog.h +$(PROJECT_INCLUDE)/rtems/score/watchdogimpl.h: include/rtems/score/watchdogimpl.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/watchdogimpl.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/watchdogimpl.h + $(PROJECT_INCLUDE)/rtems/score/wkspace.h: include/rtems/score/wkspace.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/wkspace.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/wkspace.h @@ -355,10 +359,6 @@ $(PROJECT_INCLUDE)/rtems/score/tqdata.inl: inline/rtems/score/tqdata.inl $(PROJE $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/tqdata.inl PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/tqdata.inl -$(PROJECT_INCLUDE)/rtems/score/watchdog.inl: inline/rtems/score/watchdog.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/watchdog.inl -PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/watchdog.inl - $(PROJECT_INCLUDE)/rtems/score/wkspace.inl: inline/rtems/score/wkspace.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/wkspace.inl PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/wkspace.inl diff --git a/cpukit/score/src/corespinlockwait.c b/cpukit/score/src/corespinlockwait.c index 56baad1abf..689180a218 100644 --- a/cpukit/score/src/corespinlockwait.c +++ b/cpukit/score/src/corespinlockwait.c @@ -23,7 +23,6 @@ #include #include #include -#include /* * _CORE_spinlock_Wait diff --git a/cpukit/score/src/coretodget.c b/cpukit/score/src/coretodget.c index dbee757f25..e58b9fee95 100644 --- a/cpukit/score/src/coretodget.c +++ b/cpukit/score/src/coretodget.c @@ -19,7 +19,7 @@ #endif #include -#include +#include Timestamp_Control *_TOD_Get_with_nanoseconds( Timestamp_Control *snapshot, diff --git a/cpukit/score/src/coretodset.c b/cpukit/score/src/coretodset.c index b141e2819a..3bf5e52de5 100644 --- a/cpukit/score/src/coretodset.c +++ b/cpukit/score/src/coretodset.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include void _TOD_Set_with_timestamp( const Timestamp_Control *tod diff --git a/cpukit/score/src/coretodtickle.c b/cpukit/score/src/coretodtickle.c index e464db3b52..4f53befe8d 100644 --- a/cpukit/score/src/coretodtickle.c +++ b/cpukit/score/src/coretodtickle.c @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include void _TOD_Tickle_ticks( void ) diff --git a/cpukit/score/src/schedulercbsreleasejob.c b/cpukit/score/src/schedulercbsreleasejob.c index aec5ac8721..23453ed5c1 100644 --- a/cpukit/score/src/schedulercbsreleasejob.c +++ b/cpukit/score/src/schedulercbsreleasejob.c @@ -23,6 +23,7 @@ #include #include #include +#include void _Scheduler_CBS_Release_job( Thread_Control *the_thread, diff --git a/cpukit/score/src/schedulercbsunblock.c b/cpukit/score/src/schedulercbsunblock.c index 529d571dbf..5d7b2d0afe 100644 --- a/cpukit/score/src/schedulercbsunblock.c +++ b/cpukit/score/src/schedulercbsunblock.c @@ -22,6 +22,7 @@ #include #include #include +#include void _Scheduler_CBS_Unblock( Thread_Control *the_thread diff --git a/cpukit/score/src/scheduleredfprioritycompare.c b/cpukit/score/src/scheduleredfprioritycompare.c index 60e950dae7..546986254b 100644 --- a/cpukit/score/src/scheduleredfprioritycompare.c +++ b/cpukit/score/src/scheduleredfprioritycompare.c @@ -22,6 +22,7 @@ #include #include #include +#include int _Scheduler_EDF_Priority_compare ( Priority_Control p1, diff --git a/cpukit/score/src/scheduleredfreleasejob.c b/cpukit/score/src/scheduleredfreleasejob.c index 83712ce162..c43e71f04d 100644 --- a/cpukit/score/src/scheduleredfreleasejob.c +++ b/cpukit/score/src/scheduleredfreleasejob.c @@ -22,6 +22,7 @@ #include #include #include +#include void _Scheduler_EDF_Release_job( Thread_Control *the_thread, diff --git a/cpukit/score/src/threadblockingoperationcancel.c b/cpukit/score/src/threadblockingoperationcancel.c index d67f995ab1..278dec51c8 100644 --- a/cpukit/score/src/threadblockingoperationcancel.c +++ b/cpukit/score/src/threadblockingoperationcancel.c @@ -23,6 +23,7 @@ #if defined(RTEMS_DEBUG) #include #endif +#include void _Thread_blocking_operation_Cancel( #if defined(RTEMS_DEBUG) diff --git a/cpukit/score/src/threadclose.c b/cpukit/score/src/threadclose.c index 73fff78b73..e6fec8566f 100644 --- a/cpukit/score/src/threadclose.c +++ b/cpukit/score/src/threadclose.c @@ -32,6 +32,7 @@ #include #include #include +#include #include void _Thread_Close( diff --git a/cpukit/score/src/threadinitialize.c b/cpukit/score/src/threadinitialize.c index cc74573def..64071e1199 100644 --- a/cpukit/score/src/threadinitialize.c +++ b/cpukit/score/src/threadinitialize.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #include bool _Thread_Initialize( diff --git a/cpukit/score/src/threadqdequeuefifo.c b/cpukit/score/src/threadqdequeuefifo.c index fcad820c2f..b00b58189f 100644 --- a/cpukit/score/src/threadqdequeuefifo.c +++ b/cpukit/score/src/threadqdequeuefifo.c @@ -26,6 +26,7 @@ #include #include #include +#include Thread_Control *_Thread_queue_Dequeue_fifo( Thread_queue_Control *the_thread_queue diff --git a/cpukit/score/src/threadqdequeuepriority.c b/cpukit/score/src/threadqdequeuepriority.c index b9e7799ad4..0162488a9e 100644 --- a/cpukit/score/src/threadqdequeuepriority.c +++ b/cpukit/score/src/threadqdequeuepriority.c @@ -26,6 +26,7 @@ #include #include #include +#include Thread_Control *_Thread_queue_Dequeue_priority( Thread_queue_Control *the_thread_queue diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c index 0849bf2a11..41cfd74080 100644 --- a/cpukit/score/src/threadqenqueue.c +++ b/cpukit/score/src/threadqenqueue.c @@ -29,6 +29,7 @@ #include #include #include +#include void _Thread_queue_Enqueue_with_handler( Thread_queue_Control *the_thread_queue, diff --git a/cpukit/score/src/threadqextractfifo.c b/cpukit/score/src/threadqextractfifo.c index 4dce010dc6..a0d52af2ff 100644 --- a/cpukit/score/src/threadqextractfifo.c +++ b/cpukit/score/src/threadqextractfifo.c @@ -27,6 +27,7 @@ #include #include #include +#include void _Thread_queue_Extract_fifo( Thread_queue_Control *the_thread_queue __attribute__((unused)), diff --git a/cpukit/score/src/threadqextractpriority.c b/cpukit/score/src/threadqextractpriority.c index 082b0389f3..29a1c645a8 100644 --- a/cpukit/score/src/threadqextractpriority.c +++ b/cpukit/score/src/threadqextractpriority.c @@ -26,6 +26,7 @@ #include #include #include +#include void _Thread_queue_Extract_priority_helper( Thread_queue_Control *the_thread_queue __attribute__((unused)), diff --git a/cpukit/score/src/threadreset.c b/cpukit/score/src/threadreset.c index 92cb636657..575cd272c8 100644 --- a/cpukit/score/src/threadreset.c +++ b/cpukit/score/src/threadreset.c @@ -30,6 +30,7 @@ #include #include #include +#include void _Thread_Reset( Thread_Control *the_thread, diff --git a/cpukit/score/src/watchdog.c b/cpukit/score/src/watchdog.c index 9e32b9c4c3..18064810f3 100644 --- a/cpukit/score/src/watchdog.c +++ b/cpukit/score/src/watchdog.c @@ -23,7 +23,7 @@ #include #include -#include +#include void _Watchdog_Handler_initialization( void ) { diff --git a/cpukit/score/src/watchdogadjust.c b/cpukit/score/src/watchdogadjust.c index b0723d0f0f..32a0a83785 100644 --- a/cpukit/score/src/watchdogadjust.c +++ b/cpukit/score/src/watchdogadjust.c @@ -20,7 +20,7 @@ #include #include -#include +#include void _Watchdog_Adjust( Chain_Control *header, diff --git a/cpukit/score/src/watchdogadjusttochain.c b/cpukit/score/src/watchdogadjusttochain.c index 902d9de380..ef32394388 100644 --- a/cpukit/score/src/watchdogadjusttochain.c +++ b/cpukit/score/src/watchdogadjusttochain.c @@ -20,7 +20,7 @@ #include #include -#include +#include void _Watchdog_Adjust_to_chain( Chain_Control *header, diff --git a/cpukit/score/src/watchdoginsert.c b/cpukit/score/src/watchdoginsert.c index d73e2f061b..fd4e6f4f9a 100644 --- a/cpukit/score/src/watchdoginsert.c +++ b/cpukit/score/src/watchdoginsert.c @@ -20,7 +20,7 @@ #include #include -#include +#include void _Watchdog_Insert( Chain_Control *header, diff --git a/cpukit/score/src/watchdognanoseconds.c b/cpukit/score/src/watchdognanoseconds.c index 41353bcc35..9c25239dff 100644 --- a/cpukit/score/src/watchdognanoseconds.c +++ b/cpukit/score/src/watchdognanoseconds.c @@ -24,7 +24,7 @@ #endif #include -#include +#include Watchdog_Nanoseconds_since_last_tick_routine _Watchdog_Nanoseconds_since_tick_handler = diff --git a/cpukit/score/src/watchdogremove.c b/cpukit/score/src/watchdogremove.c index 319d726561..98bb05aca8 100644 --- a/cpukit/score/src/watchdogremove.c +++ b/cpukit/score/src/watchdogremove.c @@ -20,7 +20,7 @@ #include #include -#include +#include Watchdog_States _Watchdog_Remove( Watchdog_Control *the_watchdog diff --git a/cpukit/score/src/watchdogreport.c b/cpukit/score/src/watchdogreport.c index e77c22aeb4..b357771bf4 100644 --- a/cpukit/score/src/watchdogreport.c +++ b/cpukit/score/src/watchdogreport.c @@ -19,7 +19,7 @@ #endif #include -#include +#include #include void _Watchdog_Report( diff --git a/cpukit/score/src/watchdogreportchain.c b/cpukit/score/src/watchdogreportchain.c index ea6c2f7415..b490f79b95 100644 --- a/cpukit/score/src/watchdogreportchain.c +++ b/cpukit/score/src/watchdogreportchain.c @@ -18,7 +18,7 @@ #endif #include -#include +#include #include #include diff --git a/cpukit/score/src/watchdogtickle.c b/cpukit/score/src/watchdogtickle.c index ff779588ef..51742cb6b1 100644 --- a/cpukit/score/src/watchdogtickle.c +++ b/cpukit/score/src/watchdogtickle.c @@ -20,7 +20,7 @@ #include #include -#include +#include void _Watchdog_Tickle( Chain_Control *header diff --git a/testsuites/sptests/sp20/task1.c b/testsuites/sptests/sp20/task1.c index fb2d318d41..91a57fbd2c 100644 --- a/testsuites/sptests/sp20/task1.c +++ b/testsuites/sptests/sp20/task1.c @@ -13,6 +13,8 @@ #include "system.h" +#include + /* runtime of TA6 should be shorter than TA5 */ diff --git a/testsuites/sptests/sp67/init.c b/testsuites/sptests/sp67/init.c index 60f6c7bc39..4b78bba026 100644 --- a/testsuites/sptests/sp67/init.c +++ b/testsuites/sptests/sp67/init.c @@ -16,6 +16,8 @@ #include +#include + /* forward declarations to avoid warnings */ rtems_task Init(rtems_task_argument argument); rtems_timer_service_routine TIMER_service_routine( diff --git a/testsuites/sptests/spedfsched02/task1.c b/testsuites/sptests/spedfsched02/task1.c index fef8df9625..79614afa63 100644 --- a/testsuites/sptests/spedfsched02/task1.c +++ b/testsuites/sptests/spedfsched02/task1.c @@ -21,6 +21,8 @@ #include "system.h" +#include + /* runtime of TA6 should be shorter than TA5 */ diff --git a/testsuites/sptests/spintrcritical09/init.c b/testsuites/sptests/spintrcritical09/init.c index a7f79b2be8..81f00768e7 100644 --- a/testsuites/sptests/spintrcritical09/init.c +++ b/testsuites/sptests/spintrcritical09/init.c @@ -16,6 +16,7 @@ #include #include +#include static rtems_id Semaphore; static bool case_hit; diff --git a/testsuites/sptests/spsize/size.c b/testsuites/sptests/spsize/size.c index 4885397562..6f3f4c99b1 100644 --- a/testsuites/sptests/spsize/size.c +++ b/testsuites/sptests/spsize/size.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #if defined(RTEMS_SMP) #include diff --git a/testsuites/sptests/spwatchdog/init.c b/testsuites/sptests/spwatchdog/init.c index f2cf992b36..a7a332a26c 100644 --- a/testsuites/sptests/spwatchdog/init.c +++ b/testsuites/sptests/spwatchdog/init.c @@ -22,6 +22,8 @@ #define CONFIGURE_INIT #include "system.h" +#include + rtems_task Init( rtems_task_argument argument ) diff --git a/testsuites/sptests/spwatchdog/task1.c b/testsuites/sptests/spwatchdog/task1.c index 1a63e288e4..c73d154b20 100644 --- a/testsuites/sptests/spwatchdog/task1.c +++ b/testsuites/sptests/spwatchdog/task1.c @@ -21,6 +21,8 @@ #include "system.h" +#include + rtems_task Task_1( rtems_task_argument argument ) -- cgit v1.2.3