From 4fc370e3c64c510d43d1e8808d664513baca2ad7 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 5 Jun 2013 12:08:23 +0200 Subject: score: Move thread dispatch content to new file Move thread dispatch declarations and inline functions to new header to make it independent of the Thread_Control structure. This avoids a cyclic dependency in case thread dispatch functions are used for the object implementation. --- cpukit/score/Makefile.am | 1 + cpukit/score/include/rtems/score/thread.h | 105 --------- cpukit/score/include/rtems/score/threaddispatch.h | 264 ++++++++++++++++++++++ cpukit/score/inline/rtems/score/coremutex.inl | 2 + cpukit/score/inline/rtems/score/coresem.inl | 1 + cpukit/score/inline/rtems/score/object.inl | 2 + cpukit/score/inline/rtems/score/thread.inl | 140 ------------ cpukit/score/preinstall.am | 4 + cpukit/score/src/corerwlocktimeout.c | 2 +- cpukit/score/src/corespinlockwait.c | 1 + cpukit/score/src/coretodset.c | 1 + cpukit/score/src/isrsmp.c | 1 + cpukit/score/src/schedulercbsattachthread.c | 1 + cpukit/score/src/schedulercbsdetachthread.c | 1 + cpukit/score/src/schedulercbsgetexecutiontime.c | 1 + cpukit/score/src/schedulercbsgetremainingbudget.c | 1 + cpukit/score/src/smp.c | 1 + cpukit/score/src/threadclose.c | 1 + cpukit/score/src/threaddelayended.c | 1 + cpukit/score/src/threaddisabledispatch.c | 1 + cpukit/score/src/threaddispatch.c | 1 + cpukit/score/src/threaddispatchdisablelevel.c | 2 +- cpukit/score/src/threadget.c | 1 + cpukit/score/src/threadhandler.c | 1 + cpukit/score/src/threadqtimeout.c | 1 + 25 files changed, 291 insertions(+), 247 deletions(-) create mode 100644 cpukit/score/include/rtems/score/threaddispatch.h (limited to 'cpukit') diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index d4c79ac4f2..e6c8704b58 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -44,6 +44,7 @@ include_rtems_score_HEADERS += include/rtems/score/stack.h include_rtems_score_HEADERS += include/rtems/score/states.h include_rtems_score_HEADERS += include/rtems/score/sysstate.h include_rtems_score_HEADERS += include/rtems/score/thread.h +include_rtems_score_HEADERS += include/rtems/score/threaddispatch.h include_rtems_score_HEADERS += include/rtems/score/threadq.h include_rtems_score_HEADERS += include/rtems/score/threadsync.h include_rtems_score_HEADERS += include/rtems/score/timespec.h diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index 9461c85be1..3cddb5a3e9 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -50,18 +50,6 @@ #define RTEMS_SCORE_THREAD_ENABLE_USER_PROVIDED_STACK_VIA_API #endif -#if defined(RTEMS_SMP) || \ - defined(RTEMS_HEAVY_STACK_DEBUG) || \ - defined(RTEMS_HEAVY_MALLOC_DEBUG) - #define __THREAD_DO_NOT_INLINE_DISABLE_DISPATCH__ -#endif - -#if defined(RTEMS_SMP) || \ - (CPU_INLINE_ENABLE_DISPATCH == FALSE) || \ - (__RTEMS_DO_NOT_INLINE_THREAD_ENABLE_DISPATCH__ == 1) - #define __THREAD_DO_NOT_INLINE_ENABLE_DISPATCH__ -#endif - /* * Deferred floating point context switches are not currently * supported when in SMP configuration. @@ -462,28 +450,6 @@ SCORE_EXTERN Objects_Information _Thread_Internal_information; */ SCORE_EXTERN Context_Control _Thread_BSP_context; -/** - * The following declares the dispatch critical section nesting - * counter which is used to prevent context switches at inopportune - * moments. - */ -SCORE_EXTERN volatile uint32_t _Thread_Dispatch_disable_level; - -#if defined(RTEMS_SMP) - typedef struct { - SMP_lock_Control lock; - int owner_cpu; - int nest_level; - } Thread_Dispatch_disable_level_lock_control; - - /** - * The following declares the smp spinlock to be used to control - * the dispatch critical section accesses across cpus. - */ - SCORE_EXTERN Thread_Dispatch_disable_level_lock_control - _Thread_Dispatch_disable_level_lock; -#endif - /** * The following holds how many user extensions are in the system. This * is used to determine how many user extension data areas to allocate @@ -541,26 +507,6 @@ void _Thread_Create_idle(void); */ void _Thread_Start_multitasking( void ); -/** - * @brief Dispatch thread. - * - * This routine is responsible for transferring control of the - * processor from the executing thread to the heir thread. Once the - * heir is running an attempt is made to dispatch any ASRs. - * As part of this process, it is responsible for the following actions: - * + saving the context of the executing thread - * + restoring the context of the heir thread - * + dispatching any signals for the resulting executing thread - - * ALTERNATE ENTRY POINTS: - * void _Thread_Enable_dispatch(); - * - * - INTERRUPT LATENCY: - * + dispatch thread - * + no dispatch thread - */ -void _Thread_Dispatch( void ); - /** * @brief Allocate the requested stack space for the thread. * @@ -903,57 +849,6 @@ void _Thread_blocking_operation_Cancel( Thread_Control *the_thread, ISR_Level level ); -#if defined(RTEMS_SMP) - - /** - * @brief Initializes the thread dispatching subsystem. - * - * This routine initializes the thread dispatching subsystem. - */ - void _Thread_Dispatch_initialization(void); - - /** - * @brief Checks if thread dispatch says that we are in a critical section. - * - * This routine returns true if thread dispatch indicates - * that we are in a critical section. - */ - bool _Thread_Dispatch_in_critical_section(void); - - /** - * @brief Returns value of the the thread dispatch level. - * - * This routine returns value of the the thread dispatch level. - */ - uint32_t _Thread_Dispatch_get_disable_level(void); - - /** - * @brief Sets thread dispatch level to the value passed in. - * - * This routine sets thread dispatch level to the - * value passed in. - */ - uint32_t _Thread_Dispatch_set_disable_level(uint32_t value); - - /** - * @brief Increments the thread dispatch level. - * - * This rountine increments the thread dispatch level - */ - uint32_t _Thread_Dispatch_increment_disable_level(void); - - /** - * @brief Decrements the thread dispatch level. - * - * This routine decrements the thread dispatch level. - */ - uint32_t _Thread_Dispatch_decrement_disable_level(void); - -#else - /* - * The _Thread_Dispatch_... functions are in thread.inl - */ -#endif #ifndef __RTEMS_APPLICATION__ #include diff --git a/cpukit/score/include/rtems/score/threaddispatch.h b/cpukit/score/include/rtems/score/threaddispatch.h new file mode 100644 index 0000000000..292bf27c32 --- /dev/null +++ b/cpukit/score/include/rtems/score/threaddispatch.h @@ -0,0 +1,264 @@ +/** + * @brief Constants and Structures Related with Thread Dispatch + */ + +/* + * 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.com/license/LICENSE. + */ + +#ifndef _RTEMS_SCORE_THREADDISPATCH_H +#define _RTEMS_SCORE_THREADDISPATCH_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#if defined(RTEMS_SMP) || \ + defined(RTEMS_HEAVY_STACK_DEBUG) || \ + defined(RTEMS_HEAVY_MALLOC_DEBUG) + #define __THREAD_DO_NOT_INLINE_DISABLE_DISPATCH__ +#endif + +#if defined(RTEMS_SMP) || \ + (CPU_INLINE_ENABLE_DISPATCH == FALSE) || \ + (__RTEMS_DO_NOT_INLINE_THREAD_ENABLE_DISPATCH__ == 1) + #define __THREAD_DO_NOT_INLINE_ENABLE_DISPATCH__ +#endif + +/** + * @addtogroup ScoreThread + * + * @{ + */ + +/** + * The following declares the dispatch critical section nesting + * counter which is used to prevent context switches at inopportune + * moments. + */ +SCORE_EXTERN volatile uint32_t _Thread_Dispatch_disable_level; + +#if defined(RTEMS_SMP) + typedef struct { + SMP_lock_Control lock; + int owner_cpu; + int nest_level; + } Thread_Dispatch_disable_level_lock_control; + + /** + * The following declares the smp spinlock to be used to control + * the dispatch critical section accesses across cpus. + */ + SCORE_EXTERN Thread_Dispatch_disable_level_lock_control + _Thread_Dispatch_disable_level_lock; + + /** + * @brief Initializes the thread dispatching subsystem. + * + * This routine initializes the thread dispatching subsystem. + */ + void _Thread_Dispatch_initialization(void); + + /** + * @brief Checks if thread dispatch says that we are in a critical section. + * + * This routine returns true if thread dispatch indicates + * that we are in a critical section. + */ + bool _Thread_Dispatch_in_critical_section(void); + + /** + * @brief Returns value of the the thread dispatch level. + * + * This routine returns value of the the thread dispatch level. + */ + uint32_t _Thread_Dispatch_get_disable_level(void); + + /** + * @brief Sets thread dispatch level to the value passed in. + * + * This routine sets thread dispatch level to the + * value passed in. + */ + uint32_t _Thread_Dispatch_set_disable_level(uint32_t value); + + /** + * @brief Increments the thread dispatch level. + * + * This rountine increments the thread dispatch level + */ + uint32_t _Thread_Dispatch_increment_disable_level(void); + + /** + * @brief Decrements the thread dispatch level. + * + * This routine decrements the thread dispatch level. + */ + uint32_t _Thread_Dispatch_decrement_disable_level(void); +#else /* RTEMS_SMP */ + /** + * @brief _Thread_Dispatch_in_critical_section + * + * This routine returns true if thread dispatch indicates + * that we are in a critical section. + */ + RTEMS_INLINE_ROUTINE bool _Thread_Dispatch_in_critical_section(void) + { + if ( _Thread_Dispatch_disable_level == 0 ) + return false; + + return true; + } + + /** + * @brief Get thread dispatch disable level. + * + * This routine returns value of the the thread dispatch level. + */ + RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_get_disable_level(void) + { + return _Thread_Dispatch_disable_level; + } + + /** + * @brief Set thread dispatch disable level. + * + * This routine sets thread dispatch level to the + * value passed in. + */ + RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_set_disable_level(uint32_t value) + { + _Thread_Dispatch_disable_level = value; + return value; + } + + /** + * @brief Increase thread dispatch disable level. + * + * This rountine increments the thread dispatch level + */ + RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void) + { + uint32_t level = _Thread_Dispatch_disable_level; + + ++level; + _Thread_Dispatch_disable_level = level; + + return level; + } + + /** + * @brief Decrease thread dispatch disable level. + * + * This routine decrements the thread dispatch level. + */ + RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void) + { + uint32_t level = _Thread_Dispatch_disable_level; + + --level; + _Thread_Dispatch_disable_level = level; + + return level; + } + + /** + * @brief Thread dispatch initialization. + * + * This routine initializes the thread dispatching subsystem. + */ + RTEMS_INLINE_ROUTINE void _Thread_Dispatch_initialization( void ) + { + _Thread_Dispatch_set_disable_level( 1 ); + } +#endif /* RTEMS_SMP */ + +/** + * @brief Dispatch thread. + * + * This routine is responsible for transferring control of the + * processor from the executing thread to the heir thread. Once the + * heir is running an attempt is made to dispatch any ASRs. + * As part of this process, it is responsible for the following actions: + * + saving the context of the executing thread + * + restoring the context of the heir thread + * + dispatching any signals for the resulting executing thread + + * ALTERNATE ENTRY POINTS: + * void _Thread_Enable_dispatch(); + * + * - INTERRUPT LATENCY: + * + dispatch thread + * + no dispatch thread + */ +void _Thread_Dispatch( void ); + +/** + * This routine prevents dispatching. + */ + +#if defined ( __THREAD_DO_NOT_INLINE_DISABLE_DISPATCH__ ) +void _Thread_Disable_dispatch( void ); +#else +RTEMS_INLINE_ROUTINE void _Thread_Disable_dispatch( void ) +{ + _Thread_Dispatch_increment_disable_level(); + RTEMS_COMPILER_MEMORY_BARRIER(); +} +#endif + +/** + * This routine allows dispatching to occur again. If this is + * the outer most dispatching critical section, then a dispatching + * operation will be performed and, if necessary, control of the + * processor will be transferred to the heir thread. + */ + +#if defined ( __THREAD_DO_NOT_INLINE_ENABLE_DISPATCH__ ) + void _Thread_Enable_dispatch( void ); +#else + /* inlining of enable dispatching must be true */ + RTEMS_INLINE_ROUTINE void _Thread_Enable_dispatch( void ) + { + RTEMS_COMPILER_MEMORY_BARRIER(); + if ( _Thread_Dispatch_decrement_disable_level() == 0 ) + _Thread_Dispatch(); + } +#endif + +/** + * This routine allows dispatching to occur again. However, + * no dispatching operation is performed even if this is the outer + * most dispatching critical section. + */ + +RTEMS_INLINE_ROUTINE void _Thread_Unnest_dispatch( void ) +{ + RTEMS_COMPILER_MEMORY_BARRIER(); + _Thread_Dispatch_decrement_disable_level(); +} + +/** + * This function returns true if dispatching is disabled, and false + * otherwise. + */ + +RTEMS_INLINE_ROUTINE bool _Thread_Is_dispatching_enabled( void ) +{ + return ( _Thread_Dispatch_in_critical_section() == false ); +} + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _RTEMS_SCORE_THREADDISPATCH_H */ diff --git a/cpukit/score/inline/rtems/score/coremutex.inl b/cpukit/score/inline/rtems/score/coremutex.inl index d34a967bd3..591cded136 100644 --- a/cpukit/score/inline/rtems/score/coremutex.inl +++ b/cpukit/score/inline/rtems/score/coremutex.inl @@ -23,6 +23,8 @@ #ifndef _RTEMS_SCORE_COREMUTEX_INL #define _RTEMS_SCORE_COREMUTEX_INL +#include + /** * @addtogroup ScoreMutex */ diff --git a/cpukit/score/inline/rtems/score/coresem.inl b/cpukit/score/inline/rtems/score/coresem.inl index aa021eb1db..0ae3b33cd3 100644 --- a/cpukit/score/inline/rtems/score/coresem.inl +++ b/cpukit/score/inline/rtems/score/coresem.inl @@ -29,6 +29,7 @@ /**@{**/ #include +#include #include /** diff --git a/cpukit/score/inline/rtems/score/object.inl b/cpukit/score/inline/rtems/score/object.inl index 726d676cd9..efdb23d0e3 100644 --- a/cpukit/score/inline/rtems/score/object.inl +++ b/cpukit/score/inline/rtems/score/object.inl @@ -23,6 +23,8 @@ #ifndef _RTEMS_SCORE_OBJECT_INL #define _RTEMS_SCORE_OBJECT_INL +#include + /** * This function builds an object's id from the processor node and index * values specified. diff --git a/cpukit/score/inline/rtems/score/thread.inl b/cpukit/score/inline/rtems/score/thread.inl index a42da1d5b8..e6e192901d 100644 --- a/cpukit/score/inline/rtems/score/thread.inl +++ b/cpukit/score/inline/rtems/score/thread.inl @@ -31,91 +31,6 @@ */ /**@{**/ -#if defined(RTEMS_SMP) - - /* - * The _Thread_Dispatch_... functions are prototyped in thread.h. - */ - -#else - - /** - * @brief _Thread_Dispatch_in_critical_section - * - * This routine returns true if thread dispatch indicates - * that we are in a critical section. - */ - RTEMS_INLINE_ROUTINE bool _Thread_Dispatch_in_critical_section(void) - { - if ( _Thread_Dispatch_disable_level == 0 ) - return false; - - return true; - } - - /** - * @brief Get thread dispatch disable level. - * - * This routine returns value of the the thread dispatch level. - */ - RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_get_disable_level(void) - { - return _Thread_Dispatch_disable_level; - } - - /** - * @brief Set thread dispatch disable level. - * - * This routine sets thread dispatch level to the - * value passed in. - */ - RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_set_disable_level(uint32_t value) - { - _Thread_Dispatch_disable_level = value; - return value; - } - - /** - * @brief Increase thread dispatch disable level. - * - * This rountine increments the thread dispatch level - */ - RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void) - { - uint32_t level = _Thread_Dispatch_disable_level; - - ++level; - _Thread_Dispatch_disable_level = level; - - return level; - } - - /** - * @brief Decrease thread dispatch disable level. - * - * This routine decrements the thread dispatch level. - */ - RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void) - { - uint32_t level = _Thread_Dispatch_disable_level; - - --level; - _Thread_Dispatch_disable_level = level; - - return level; - } - - /** - * @brief Thread dispatch initialization. - * - * This routine initializes the thread dispatching subsystem. - */ - RTEMS_INLINE_ROUTINE void _Thread_Dispatch_initialization( void ) - { - _Thread_Dispatch_set_disable_level( 1 ); - } - -#endif /** * This routine halts multitasking and returns control to @@ -236,61 +151,6 @@ RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void ) } #endif -/** - * This routine prevents dispatching. - */ - -#if defined ( __THREAD_DO_NOT_INLINE_DISABLE_DISPATCH__ ) -void _Thread_Disable_dispatch( void ); -#else -RTEMS_INLINE_ROUTINE void _Thread_Disable_dispatch( void ) -{ - _Thread_Dispatch_increment_disable_level(); - RTEMS_COMPILER_MEMORY_BARRIER(); -} -#endif - -/** - * This routine allows dispatching to occur again. If this is - * the outer most dispatching critical section, then a dispatching - * operation will be performed and, if necessary, control of the - * processor will be transferred to the heir thread. - */ - -#if defined ( __THREAD_DO_NOT_INLINE_ENABLE_DISPATCH__ ) - void _Thread_Enable_dispatch( void ); -#else - /* inlining of enable dispatching must be true */ - RTEMS_INLINE_ROUTINE void _Thread_Enable_dispatch( void ) - { - RTEMS_COMPILER_MEMORY_BARRIER(); - if ( _Thread_Dispatch_decrement_disable_level() == 0 ) - _Thread_Dispatch(); - } -#endif - -/** - * This routine allows dispatching to occur again. However, - * no dispatching operation is performed even if this is the outer - * most dispatching critical section. - */ - -RTEMS_INLINE_ROUTINE void _Thread_Unnest_dispatch( void ) -{ - RTEMS_COMPILER_MEMORY_BARRIER(); - _Thread_Dispatch_decrement_disable_level(); -} - -/** - * This function returns true if dispatching is disabled, and false - * otherwise. - */ - -RTEMS_INLINE_ROUTINE bool _Thread_Is_dispatching_enabled( void ) -{ - return ( _Thread_Dispatch_in_critical_section() == false ); -} - /** * This function returns true if dispatching is disabled, and false * otherwise. diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am index 9499f4d0ea..6d796e072b 100644 --- a/cpukit/score/preinstall.am +++ b/cpukit/score/preinstall.am @@ -159,6 +159,10 @@ $(PROJECT_INCLUDE)/rtems/score/thread.h: include/rtems/score/thread.h $(PROJECT_ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/thread.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/thread.h +$(PROJECT_INCLUDE)/rtems/score/threaddispatch.h: include/rtems/score/threaddispatch.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/threaddispatch.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/threaddispatch.h + $(PROJECT_INCLUDE)/rtems/score/threadq.h: include/rtems/score/threadq.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/threadq.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/threadq.h diff --git a/cpukit/score/src/corerwlocktimeout.c b/cpukit/score/src/corerwlocktimeout.c index b5cd4b0786..73e93f8eb0 100644 --- a/cpukit/score/src/corerwlocktimeout.c +++ b/cpukit/score/src/corerwlocktimeout.c @@ -20,7 +20,7 @@ #include #include -#include +#include void _CORE_RWLock_Timeout( Objects_Id id, diff --git a/cpukit/score/src/corespinlockwait.c b/cpukit/score/src/corespinlockwait.c index fa2fb11216..6e71a1fed6 100644 --- a/cpukit/score/src/corespinlockwait.c +++ b/cpukit/score/src/corespinlockwait.c @@ -22,6 +22,7 @@ #include #include #include +#include #include /* diff --git a/cpukit/score/src/coretodset.c b/cpukit/score/src/coretodset.c index 57a7d45d37..b141e2819a 100644 --- a/cpukit/score/src/coretodset.c +++ b/cpukit/score/src/coretodset.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/score/src/isrsmp.c b/cpukit/score/src/isrsmp.c index 7fb3f75bc3..92442875aa 100644 --- a/cpukit/score/src/isrsmp.c +++ b/cpukit/score/src/isrsmp.c @@ -21,6 +21,7 @@ #include #include #include +#include #include void _ISR_SMP_Initialize(void) diff --git a/cpukit/score/src/schedulercbsattachthread.c b/cpukit/score/src/schedulercbsattachthread.c index 56602a22d1..5a9ba04721 100644 --- a/cpukit/score/src/schedulercbsattachthread.c +++ b/cpukit/score/src/schedulercbsattachthread.c @@ -22,6 +22,7 @@ #include #include #include +#include #include int _Scheduler_CBS_Attach_thread ( diff --git a/cpukit/score/src/schedulercbsdetachthread.c b/cpukit/score/src/schedulercbsdetachthread.c index 8be62f783d..f4ce6029cc 100644 --- a/cpukit/score/src/schedulercbsdetachthread.c +++ b/cpukit/score/src/schedulercbsdetachthread.c @@ -23,6 +23,7 @@ #include #include #include +#include int _Scheduler_CBS_Detach_thread ( Scheduler_CBS_Server_id server_id, diff --git a/cpukit/score/src/schedulercbsgetexecutiontime.c b/cpukit/score/src/schedulercbsgetexecutiontime.c index c2c0a3ef23..005cd325ad 100644 --- a/cpukit/score/src/schedulercbsgetexecutiontime.c +++ b/cpukit/score/src/schedulercbsgetexecutiontime.c @@ -23,6 +23,7 @@ #include #include #include +#include int _Scheduler_CBS_Get_execution_time ( Scheduler_CBS_Server_id server_id, diff --git a/cpukit/score/src/schedulercbsgetremainingbudget.c b/cpukit/score/src/schedulercbsgetremainingbudget.c index 2d79995a46..892c371d0f 100644 --- a/cpukit/score/src/schedulercbsgetremainingbudget.c +++ b/cpukit/score/src/schedulercbsgetremainingbudget.c @@ -22,6 +22,7 @@ #include #include #include +#include int _Scheduler_CBS_Get_remaining_budget ( Scheduler_CBS_Server_id server_id, diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c index 6f1bc55cc8..d8ceba45ea 100644 --- a/cpukit/score/src/smp.c +++ b/cpukit/score/src/smp.c @@ -22,6 +22,7 @@ #include #include #include +#include #if defined(RTEMS_DEBUG) #include diff --git a/cpukit/score/src/threadclose.c b/cpukit/score/src/threadclose.c index 05abcefa61..73fff78b73 100644 --- a/cpukit/score/src/threadclose.c +++ b/cpukit/score/src/threadclose.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/score/src/threaddelayended.c b/cpukit/score/src/threaddelayended.c index a050669fa5..2750fb7788 100644 --- a/cpukit/score/src/threaddelayended.c +++ b/cpukit/score/src/threaddelayended.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include diff --git a/cpukit/score/src/threaddisabledispatch.c b/cpukit/score/src/threaddisabledispatch.c index 779547dc3a..d89bc924fd 100644 --- a/cpukit/score/src/threaddisabledispatch.c +++ b/cpukit/score/src/threaddisabledispatch.c @@ -22,6 +22,7 @@ #include #include +#include #if defined ( __THREAD_DO_NOT_INLINE_DISABLE_DISPATCH__ ) void _Thread_Disable_dispatch( void ) diff --git a/cpukit/score/src/threaddispatch.c b/cpukit/score/src/threaddispatch.c index 66c7bdcd43..4856f8e67b 100644 --- a/cpukit/score/src/threaddispatch.c +++ b/cpukit/score/src/threaddispatch.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/score/src/threaddispatchdisablelevel.c b/cpukit/score/src/threaddispatchdisablelevel.c index b1930909bb..ee1bfebe67 100644 --- a/cpukit/score/src/threaddispatchdisablelevel.c +++ b/cpukit/score/src/threaddispatchdisablelevel.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include #define NO_OWNER_CPU (-1) diff --git a/cpukit/score/src/threadget.c b/cpukit/score/src/threadget.c index 4bef8681b2..69551f0b11 100644 --- a/cpukit/score/src/threadget.c +++ b/cpukit/score/src/threadget.c @@ -29,6 +29,7 @@ #include #include #include +#include #include Thread_Control *_Thread_Get ( diff --git a/cpukit/score/src/threadhandler.c b/cpukit/score/src/threadhandler.c index e4f124c052..f21722a063 100644 --- a/cpukit/score/src/threadhandler.c +++ b/cpukit/score/src/threadhandler.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/cpukit/score/src/threadqtimeout.c b/cpukit/score/src/threadqtimeout.c index c1f62cf5a7..4792666cf8 100644 --- a/cpukit/score/src/threadqtimeout.c +++ b/cpukit/score/src/threadqtimeout.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include -- cgit v1.2.3