diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-23 13:51:08 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-23 15:12:54 +0200 |
commit | e90b1dfdda68f467c66445502afc092ec687b520 (patch) | |
tree | 88cf748c670b63eee10eb0a10f7c352874c7d0c2 | |
parent | rtems: Create ratemon implementation header (diff) | |
download | rtems-e90b1dfdda68f467c66445502afc092ec687b520.tar.bz2 |
rtems: Create timer implementation header
Move implementation specific parts of timer.h and timer.inl into new
header file timerimpl.h. The timer.h contains now only the application
visible API.
24 files changed, 272 insertions, 267 deletions
diff --git a/cpukit/libcsupport/src/resource_snapshot.c b/cpukit/libcsupport/src/resource_snapshot.c index fba0b3dd4f..c04dcf6cb4 100644 --- a/cpukit/libcsupport/src/resource_snapshot.c +++ b/cpukit/libcsupport/src/resource_snapshot.c @@ -32,6 +32,7 @@ #include <rtems/rtems/messageimpl.h> #include <rtems/rtems/ratemonimpl.h> #include <rtems/rtems/semimpl.h> +#include <rtems/rtems/timerimpl.h> #ifdef RTEMS_POSIX_API #include <rtems/posix/barrierimpl.h> diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am index 1a95dc5d2e..5b6d526d2d 100644 --- a/cpukit/rtems/Makefile.am +++ b/cpukit/rtems/Makefile.am @@ -49,6 +49,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/statusimpl.h include_rtems_rtems_HEADERS += include/rtems/rtems/support.h include_rtems_rtems_HEADERS += include/rtems/rtems/tasks.h include_rtems_rtems_HEADERS += include/rtems/rtems/timer.h +include_rtems_rtems_HEADERS += include/rtems/rtems/timerimpl.h include_rtems_rtems_HEADERS += include/rtems/rtems/types.h if ATOMIC include_rtems_rtems_HEADERS += include/rtems/rtems/atomic.h @@ -70,7 +71,6 @@ endif include_rtems_rtems_HEADERS += inline/rtems/rtems/part.inl include_rtems_rtems_HEADERS += inline/rtems/rtems/region.inl include_rtems_rtems_HEADERS += inline/rtems/rtems/tasks.inl -include_rtems_rtems_HEADERS += inline/rtems/rtems/timer.inl ## src librtems_a_SOURCES = src/rtemsbuildid.c diff --git a/cpukit/rtems/include/rtems/rtems/timer.h b/cpukit/rtems/include/rtems/rtems/timer.h index f27f958d9a..a8ebb7f2a4 100644 --- a/cpukit/rtems/include/rtems/rtems/timer.h +++ b/cpukit/rtems/include/rtems/rtems/timer.h @@ -41,29 +41,13 @@ #ifndef _RTEMS_RTEMS_TIMER_H #define _RTEMS_RTEMS_TIMER_H -/** - * @brief Instantiate RTEMS Timer Data - * - * This constant is defined to extern most of the time when using - * this header file. However by defining it to nothing, the data - * declared in this header file can be instantiated. This is done - * in a single per manager file. - */ -#ifndef RTEMS_TIMER_EXTERN -#define RTEMS_TIMER_EXTERN extern -#endif +#include <rtems/rtems/types.h> +#include <rtems/rtems/attr.h> #ifdef __cplusplus extern "C" { #endif -#include <rtems/score/object.h> -#include <rtems/score/watchdog.h> -#include <rtems/score/thread.h> -#include <rtems/score/chain.h> -#include <rtems/rtems/clock.h> -#include <rtems/rtems/attr.h> - /** * @defgroup ClassicTimer Timers * @@ -141,98 +125,6 @@ typedef struct { Timer_Classes the_class; } Timer_Control; -typedef struct Timer_server_Control Timer_server_Control; - -/** - * @brief Method used to schedule the insertion of task based timers. - */ -typedef void (*Timer_server_Schedule_operation)( - Timer_server_Control *timer_server, - Timer_Control *timer -); - -typedef struct { - /** - * @brief This watchdog that will be registered in the system tick mechanic - * for timer server wake-up. - */ - Watchdog_Control System_watchdog; - - /** - * @brief Chain for watchdogs which will be triggered by the timer server. - */ - Chain_Control Chain; - - /** - * @brief Last known time snapshot of the timer server. - * - * The units may be ticks or seconds. - */ - Watchdog_Interval volatile last_snapshot; -} Timer_server_Watchdogs; - -struct Timer_server_Control { - /** - * @brief Timer server thread. - */ - Thread_Control *thread; - - /** - * @brief The schedule operation method of the timer server. - */ - Timer_server_Schedule_operation schedule_operation; - - /** - * @brief Interval watchdogs triggered by the timer server. - */ - Timer_server_Watchdogs Interval_watchdogs; - - /** - * @brief TOD watchdogs triggered by the timer server. - */ - Timer_server_Watchdogs TOD_watchdogs; - - /** - * @brief Chain of timers scheduled for insert. - * - * This pointer is not @c NULL whenever the interval and TOD chains are - * processed. After the processing this list will be checked and if - * necessary the processing will be restarted. Processing of these chains - * can be only interrupted through interrupts. - */ - Chain_Control *volatile insert_chain; - - /** - * @brief Indicates that the timer server is active or not. - * - * The server is active after the delay on a system watchdog. The activity - * period of the server ends when no more watchdogs managed by the server - * fire. The system watchdogs must not be manipulated when the server is - * active. - */ - bool volatile active; -}; - -/** - * @brief Pointer to default timer server control block. - * - * This value is @c NULL when the default timer server is not initialized. - */ -RTEMS_TIMER_EXTERN Timer_server_Control *volatile _Timer_server; - -/** - * The following defines the information control block used to manage - * this class of objects. - */ -RTEMS_TIMER_EXTERN Objects_Information _Timer_Information; - -/** - * @brief Timer Manager Initialization - * - * This routine performs the initialization necessary for this manager. - */ -void _Timer_Manager_initialization(void); - /** * @brief RTEMS Create Timer * @@ -454,15 +346,11 @@ rtems_status_code rtems_timer_get_information( rtems_timer_information *the_info ); -#ifndef __RTEMS_APPLICATION__ -#include <rtems/rtems/timer.inl> -#endif +/**@}*/ #ifdef __cplusplus } #endif -/**@}*/ - #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/timerimpl.h b/cpukit/rtems/include/rtems/rtems/timerimpl.h new file mode 100644 index 0000000000..c22658d99b --- /dev/null +++ b/cpukit/rtems/include/rtems/rtems/timerimpl.h @@ -0,0 +1,239 @@ +/** + * @file + * + * @ingroup ClassicTimerImpl + * + * @brief Classic Timer Implementation + */ + +/* + * COPYRIGHT (c) 1989-2011. + * 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_RTEMS_TIMER_INL +#define _RTEMS_RTEMS_TIMER_INL + +#include <rtems/rtems/timer.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup ClassicTimerImpl Classic Timer Implementation + * + * @ingroup ClassicTimer + * + * @{ + */ + +/** + * @brief Instantiate RTEMS Timer Data + * + * This constant is defined to extern most of the time when using + * this header file. However by defining it to nothing, the data + * declared in this header file can be instantiated. This is done + * in a single per manager file. + */ +#ifndef RTEMS_TIMER_EXTERN +#define RTEMS_TIMER_EXTERN extern +#endif + +typedef struct Timer_server_Control Timer_server_Control; + +/** + * @brief Method used to schedule the insertion of task based timers. + */ +typedef void (*Timer_server_Schedule_operation)( + Timer_server_Control *timer_server, + Timer_Control *timer +); + +typedef struct { + /** + * @brief This watchdog that will be registered in the system tick mechanic + * for timer server wake-up. + */ + Watchdog_Control System_watchdog; + + /** + * @brief Chain for watchdogs which will be triggered by the timer server. + */ + Chain_Control Chain; + + /** + * @brief Last known time snapshot of the timer server. + * + * The units may be ticks or seconds. + */ + Watchdog_Interval volatile last_snapshot; +} Timer_server_Watchdogs; + +struct Timer_server_Control { + /** + * @brief Timer server thread. + */ + Thread_Control *thread; + + /** + * @brief The schedule operation method of the timer server. + */ + Timer_server_Schedule_operation schedule_operation; + + /** + * @brief Interval watchdogs triggered by the timer server. + */ + Timer_server_Watchdogs Interval_watchdogs; + + /** + * @brief TOD watchdogs triggered by the timer server. + */ + Timer_server_Watchdogs TOD_watchdogs; + + /** + * @brief Chain of timers scheduled for insert. + * + * This pointer is not @c NULL whenever the interval and TOD chains are + * processed. After the processing this list will be checked and if + * necessary the processing will be restarted. Processing of these chains + * can be only interrupted through interrupts. + */ + Chain_Control *volatile insert_chain; + + /** + * @brief Indicates that the timer server is active or not. + * + * The server is active after the delay on a system watchdog. The activity + * period of the server ends when no more watchdogs managed by the server + * fire. The system watchdogs must not be manipulated when the server is + * active. + */ + bool volatile active; +}; + +/** + * @brief Pointer to default timer server control block. + * + * This value is @c NULL when the default timer server is not initialized. + */ +RTEMS_TIMER_EXTERN Timer_server_Control *volatile _Timer_server; + +/** + * The following defines the information control block used to manage + * this class of objects. + */ +RTEMS_TIMER_EXTERN Objects_Information _Timer_Information; + +/** + * @brief Timer Manager Initialization + * + * This routine performs the initialization necessary for this manager. + */ +void _Timer_Manager_initialization(void); + +/** + * @brief Timer_Allocate + * + * This function allocates a timer control block from + * the inactive chain of free timer control blocks. + */ +RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Allocate( void ) +{ + return (Timer_Control *) _Objects_Allocate( &_Timer_Information ); +} + +/** + * @brief Timer_Free + * + * This routine frees a timer control block to the + * inactive chain of free timer control blocks. + */ +RTEMS_INLINE_ROUTINE void _Timer_Free ( + Timer_Control *the_timer +) +{ + _Objects_Free( &_Timer_Information, &the_timer->Object ); +} + +/** + * @brief Timer_Get + * + * This function maps timer IDs to timer control blocks. + * If ID corresponds to a local timer, then it returns + * the timer control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the returned value is undefined. + */ +RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get ( + Objects_Id id, + Objects_Locations *location +) +{ + return (Timer_Control *) + _Objects_Get( &_Timer_Information, id, location ); +} + +/** + * @brief Timer_Is_interval_class + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. + */ +RTEMS_INLINE_ROUTINE bool _Timer_Is_interval_class ( + Timer_Classes the_class +) +{ + return (the_class == TIMER_INTERVAL) || (the_class == TIMER_INTERVAL_ON_TASK); +} + +/** + * @brief Timer_Is_time_of_day_class + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. + */ +RTEMS_INLINE_ROUTINE bool _Timer_Is_timer_of_day_class ( + Timer_Classes the_class +) +{ + return ( the_class == TIMER_TIME_OF_DAY ); +} + +/** + * @brief Timer_Is_dormant_class + * + * This function returns TRUE if the class is that of a DORMANT + * timer, and FALSE otherwise. + */ +RTEMS_INLINE_ROUTINE bool _Timer_Is_dormant_class ( + Timer_Classes the_class +) +{ + return ( the_class == TIMER_DORMANT ); +} + +/** + * @brief Timer_Is_null + * + * This function returns TRUE if the_timer is NULL and FALSE otherwise. + */ +RTEMS_INLINE_ROUTINE bool _Timer_Is_null ( + Timer_Control *the_timer +) +{ + return ( the_timer == NULL ); +} + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif +/* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/timer.inl b/cpukit/rtems/inline/rtems/rtems/timer.inl deleted file mode 100644 index f4067ae09a..0000000000 --- a/cpukit/rtems/inline/rtems/rtems/timer.inl +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file rtems/rtems/timer.inl - * - * @defgroup ClassicTimer Timers - * - * @ingroup ClassicRTEMS - * @brief Inline Implementation from Timer Manager - * - * This file contains the static inline implementation of the inlined routines - * from the Timer Manager. - */ - -/* - * COPYRIGHT (c) 1989-2011. - * 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_RTEMS_TIMER_H -# error "Never use <rtems/rtems/timer.inl> directly; include <rtems/rtems/timer.h> instead." -#endif - -#ifndef _RTEMS_RTEMS_TIMER_INL -#define _RTEMS_RTEMS_TIMER_INL - -/** - * @addtogroup ClassicTimer - * @{ - */ - -/** - * @brief Timer_Allocate - * - * This function allocates a timer control block from - * the inactive chain of free timer control blocks. - */ -RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Allocate( void ) -{ - return (Timer_Control *) _Objects_Allocate( &_Timer_Information ); -} - -/** - * @brief Timer_Free - * - * This routine frees a timer control block to the - * inactive chain of free timer control blocks. - */ -RTEMS_INLINE_ROUTINE void _Timer_Free ( - Timer_Control *the_timer -) -{ - _Objects_Free( &_Timer_Information, &the_timer->Object ); -} - -/** - * @brief Timer_Get - * - * This function maps timer IDs to timer control blocks. - * If ID corresponds to a local timer, then it returns - * the timer control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ -RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get ( - Objects_Id id, - Objects_Locations *location -) -{ - return (Timer_Control *) - _Objects_Get( &_Timer_Information, id, location ); -} - -/** - * @brief Timer_Is_interval_class - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ -RTEMS_INLINE_ROUTINE bool _Timer_Is_interval_class ( - Timer_Classes the_class -) -{ - return (the_class == TIMER_INTERVAL) || (the_class == TIMER_INTERVAL_ON_TASK); -} - -/** - * @brief Timer_Is_time_of_day_class - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ -RTEMS_INLINE_ROUTINE bool _Timer_Is_timer_of_day_class ( - Timer_Classes the_class -) -{ - return ( the_class == TIMER_TIME_OF_DAY ); -} - -/** - * @brief Timer_Is_dormant_class - * - * This function returns TRUE if the class is that of a DORMANT - * timer, and FALSE otherwise. - */ -RTEMS_INLINE_ROUTINE bool _Timer_Is_dormant_class ( - Timer_Classes the_class -) -{ - return ( the_class == TIMER_DORMANT ); -} - -/** - * @brief Timer_Is_null - * - * This function returns TRUE if the_timer is NULL and FALSE otherwise. - */ -RTEMS_INLINE_ROUTINE bool _Timer_Is_null ( - Timer_Control *the_timer -) -{ - return ( the_timer == NULL ); -} - -/**@}*/ - -#endif -/* end of include file */ diff --git a/cpukit/rtems/preinstall.am b/cpukit/rtems/preinstall.am index 3b2817220b..05dd0d2b66 100644 --- a/cpukit/rtems/preinstall.am +++ b/cpukit/rtems/preinstall.am @@ -167,6 +167,10 @@ $(PROJECT_INCLUDE)/rtems/rtems/timer.h: include/rtems/rtems/timer.h $(PROJECT_IN $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/timer.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/timer.h +$(PROJECT_INCLUDE)/rtems/rtems/timerimpl.h: include/rtems/rtems/timerimpl.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/timerimpl.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/timerimpl.h + $(PROJECT_INCLUDE)/rtems/rtems/types.h: include/rtems/rtems/types.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/types.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/types.h @@ -225,7 +229,3 @@ $(PROJECT_INCLUDE)/rtems/rtems/tasks.inl: inline/rtems/rtems/tasks.inl $(PROJECT $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/tasks.inl PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/tasks.inl -$(PROJECT_INCLUDE)/rtems/rtems/timer.inl: inline/rtems/rtems/timer.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/timer.inl -PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/timer.inl - diff --git a/cpukit/rtems/src/rtemstimer.c b/cpukit/rtems/src/rtemstimer.c index 6bf33c1fb3..f3ca9e0e85 100644 --- a/cpukit/rtems/src/rtemstimer.c +++ b/cpukit/rtems/src/rtemstimer.c @@ -24,7 +24,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdog.h> diff --git a/cpukit/rtems/src/rtemstimerdata.c b/cpukit/rtems/src/rtemstimerdata.c index b3ed7e97bb..2830ea2782 100644 --- a/cpukit/rtems/src/rtemstimerdata.c +++ b/cpukit/rtems/src/rtemstimerdata.c @@ -20,5 +20,4 @@ #define RTEMS_TIMER_EXTERN -#include <rtems/system.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> diff --git a/cpukit/rtems/src/timercancel.c b/cpukit/rtems/src/timercancel.c index 84eaee040d..1bec3559b5 100644 --- a/cpukit/rtems/src/timercancel.c +++ b/cpukit/rtems/src/timercancel.c @@ -19,7 +19,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timercreate.c b/cpukit/rtems/src/timercreate.c index 5968fb0316..21fa8cc0d8 100644 --- a/cpukit/rtems/src/timercreate.c +++ b/cpukit/rtems/src/timercreate.c @@ -23,7 +23,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timerdelete.c b/cpukit/rtems/src/timerdelete.c index 7d3a722ad7..27bb26087a 100644 --- a/cpukit/rtems/src/timerdelete.c +++ b/cpukit/rtems/src/timerdelete.c @@ -23,7 +23,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timerfireafter.c b/cpukit/rtems/src/timerfireafter.c index 62cc2172e2..aaa478e337 100644 --- a/cpukit/rtems/src/timerfireafter.c +++ b/cpukit/rtems/src/timerfireafter.c @@ -23,7 +23,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timerfirewhen.c b/cpukit/rtems/src/timerfirewhen.c index 2cdfc9842a..7dffbbe319 100644 --- a/cpukit/rtems/src/timerfirewhen.c +++ b/cpukit/rtems/src/timerfirewhen.c @@ -23,7 +23,8 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> +#include <rtems/rtems/clock.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timergetinfo.c b/cpukit/rtems/src/timergetinfo.c index c3b6ec6847..2e13e577eb 100644 --- a/cpukit/rtems/src/timergetinfo.c +++ b/cpukit/rtems/src/timergetinfo.c @@ -23,7 +23,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdog.h> diff --git a/cpukit/rtems/src/timerident.c b/cpukit/rtems/src/timerident.c index ea7911daef..f160b170b2 100644 --- a/cpukit/rtems/src/timerident.c +++ b/cpukit/rtems/src/timerident.c @@ -23,7 +23,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdog.h> diff --git a/cpukit/rtems/src/timerreset.c b/cpukit/rtems/src/timerreset.c index 4afcbb2762..68feac6051 100644 --- a/cpukit/rtems/src/timerreset.c +++ b/cpukit/rtems/src/timerreset.c @@ -23,7 +23,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c index 0dc69c522c..3c57def624 100644 --- a/cpukit/rtems/src/timerserver.c +++ b/cpukit/rtems/src/timerserver.c @@ -31,7 +31,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timerserverfireafter.c b/cpukit/rtems/src/timerserverfireafter.c index c34a7e3bc0..f97eb3f5b2 100644 --- a/cpukit/rtems/src/timerserverfireafter.c +++ b/cpukit/rtems/src/timerserverfireafter.c @@ -23,7 +23,7 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/rtems/src/timerserverfirewhen.c b/cpukit/rtems/src/timerserverfirewhen.c index 228c75dd76..090738cf98 100644 --- a/cpukit/rtems/src/timerserverfirewhen.c +++ b/cpukit/rtems/src/timerserverfirewhen.c @@ -23,7 +23,8 @@ #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> +#include <rtems/rtems/clock.h> #include <rtems/score/tod.h> #include <rtems/score/watchdogimpl.h> diff --git a/cpukit/sapi/src/rtemsapi.c b/cpukit/sapi/src/rtemsapi.c index 2077829c76..a83a19cfef 100644 --- a/cpukit/sapi/src/rtemsapi.c +++ b/cpukit/sapi/src/rtemsapi.c @@ -40,7 +40,7 @@ #include <rtems/rtems/region.h> #include <rtems/rtems/semimpl.h> #include <rtems/rtems/signal.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> Objects_Information *_RTEMS_Objects[ OBJECTS_RTEMS_CLASSES_LAST + 1 ]; diff --git a/testsuites/sptests/sp31/task1.c b/testsuites/sptests/sp31/task1.c index 92b7498888..901c91385a 100644 --- a/testsuites/sptests/sp31/task1.c +++ b/testsuites/sptests/sp31/task1.c @@ -15,6 +15,8 @@ #include "system.h" +#include <rtems/rtems/timerimpl.h> + rtems_timer_service_routine Should_not_fire_TSR( rtems_id ignored_id, void *ignored_address diff --git a/testsuites/sptests/sp68/init.c b/testsuites/sptests/sp68/init.c index 03401293db..44714b635b 100644 --- a/testsuites/sptests/sp68/init.c +++ b/testsuites/sptests/sp68/init.c @@ -25,6 +25,8 @@ #include <tmacros.h> +#include <rtems/rtems/timerimpl.h> + /* forward declarations to avoid warnings */ rtems_task Init(rtems_task_argument argument); diff --git a/testsuites/sptests/spintrcritical17/init.c b/testsuites/sptests/spintrcritical17/init.c index 91d7b8de2e..aabd60ace8 100644 --- a/testsuites/sptests/spintrcritical17/init.c +++ b/testsuites/sptests/spintrcritical17/init.c @@ -18,6 +18,8 @@ #include <tmacros.h> #include <intrcritical.h> +#include <rtems/rtems/timerimpl.h> + /* forward declarations to avoid warnings */ rtems_task Init(rtems_task_argument argument); diff --git a/testsuites/sptests/spsize/size.c b/testsuites/sptests/spsize/size.c index a9ce736e1d..3e5ae9eb31 100644 --- a/testsuites/sptests/spsize/size.c +++ b/testsuites/sptests/spsize/size.c @@ -42,7 +42,7 @@ #include <rtems/score/scheduler.h> #include <rtems/score/sysstate.h> #include <rtems/score/thread.h> -#include <rtems/rtems/timer.h> +#include <rtems/rtems/timerimpl.h> #include <rtems/score/tod.h> #include <rtems/score/userextimpl.h> #include <rtems/score/watchdogimpl.h> @@ -399,7 +399,7 @@ uninitialized = /*threadq.h*/ -/*timer.h*/ (sizeof _Timer_Information) + +/*timerimpl.h*/ (sizeof _Timer_Information) + /*tod.h*/ (sizeof _TOD.now) + (sizeof _TOD.uptime) + |