diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-24 16:30:54 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-26 11:55:45 +0200 |
commit | 62590a7331256f4c7546ea815398d43082869403 (patch) | |
tree | 7a8267de553e6180499837b5978c8f63e190e538 | |
parent | score: Create states implementation header (diff) | |
download | rtems-62590a7331256f4c7546ea815398d43082869403.tar.bz2 |
score: Merge threadmp implementation into one file
-rw-r--r-- | cpukit/score/Makefile.am | 1 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/threadmp.h | 44 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/threadmp.inl | 64 | ||||
-rw-r--r-- | cpukit/score/preinstall.am | 4 |
4 files changed, 35 insertions, 78 deletions
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index be493da0f1..f8333c8dfc 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -109,7 +109,6 @@ if HAS_MP ## We only build multiprocessing related files if HAS_MP was defined include_rtems_score_HEADERS += inline/rtems/score/mppkt.inl include_rtems_score_HEADERS += inline/rtems/score/objectmp.inl -include_rtems_score_HEADERS += inline/rtems/score/threadmp.inl endif ## src diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h index 555bca2053..1fa0df72ef 100644 --- a/cpukit/score/include/rtems/score/threadmp.h +++ b/cpukit/score/include/rtems/score/threadmp.h @@ -23,6 +23,12 @@ # error "Never use <rtems/score/threadmp.h> directly; include <rtems/score/threadimpl.h> instead." #endif +#include <rtems/score/mpci.h> + +#ifdef __cplusplus +extern "C" { +#endif + /** * @defgroup ScoreThreadMP Thread Handler Multiprocessing Support * @@ -35,10 +41,6 @@ */ /**@{*/ -#ifdef __cplusplus -extern "C" { -#endif - /** * @brief Initialize MP thread handler. * @@ -87,15 +89,39 @@ SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies; */ SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies; -#ifndef __RTEMS_APPLICATION__ -#include <rtems/score/threadmp.inl> -#endif +/** + * This function returns true if the thread in question is the + * multiprocessing receive thread. + * + * @note This is a macro to avoid needing a prototype for + * _MPCI_Receive_server_tcb until it is used. + */ +#define _Thread_MP_Is_receive(_the_thread) \ + ((_the_thread) == _MPCI_Receive_server_tcb) -#ifdef __cplusplus +/** + * This routine frees a proxy control block to the + * inactive chain of free proxy control blocks. + */ + +RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy ( + Thread_Control *the_thread +) +{ + Thread_Proxy_control *the_proxy; + + the_proxy = (Thread_Proxy_control *) the_thread; + + _Chain_Extract( &the_proxy->Active ); + + _Chain_Append( &_Thread_MP_Inactive_proxies, &the_thread->Object.Node ); } -#endif /**@}*/ +#ifdef __cplusplus +} +#endif + #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/threadmp.inl b/cpukit/score/inline/rtems/score/threadmp.inl deleted file mode 100644 index 85088d1b73..0000000000 --- a/cpukit/score/inline/rtems/score/threadmp.inl +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @file - * - * @brief Inlined Routines for the Multiprocessing part of Thread Package - * - * This include file contains the bodies of all inlined routines - * for the multiprocessing part of thread package. - */ - -/* - * COPYRIGHT (c) 1989-2008. - * 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_THREADMP_H -# error "Never use <rtems/score/threadmp.inl> directly; include <rtems/score/threadmp.h> instead." -#endif - -#include <rtems/score/mpci.h> - -#ifndef _RTEMS_SCORE_THREADMP_INL -#define _RTEMS_SCORE_THREADMP_INL - -/** - * @addtogroup ScoreThreadMP - */ -/**@{**/ - -/** - * This function returns true if the thread in question is the - * multiprocessing receive thread. - * - * @note This is a macro to avoid needing a prototype for - * _MPCI_Receive_server_tcb until it is used. - */ -#define _Thread_MP_Is_receive(_the_thread) \ - ((_the_thread) == _MPCI_Receive_server_tcb) - -/** - * This routine frees a proxy control block to the - * inactive chain of free proxy control blocks. - */ - -RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy ( - Thread_Control *the_thread -) -{ - Thread_Proxy_control *the_proxy; - - the_proxy = (Thread_Proxy_control *) the_thread; - - _Chain_Extract( &the_proxy->Active ); - - _Chain_Append( &_Thread_MP_Inactive_proxies, &the_thread->Object.Node ); -} - -/** @} */ - -#endif -/* end of include file */ diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am index 8536ec4bc0..0b21d7c888 100644 --- a/cpukit/score/preinstall.am +++ b/cpukit/score/preinstall.am @@ -355,8 +355,4 @@ PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/mppkt.inl $(PROJECT_INCLUDE)/rtems/score/objectmp.inl: inline/rtems/score/objectmp.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/objectmp.inl PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/objectmp.inl - -$(PROJECT_INCLUDE)/rtems/score/threadmp.inl: inline/rtems/score/threadmp.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/threadmp.inl -PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/threadmp.inl endif |