From 62590a7331256f4c7546ea815398d43082869403 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 24 Jul 2013 16:30:54 +0200 Subject: [PATCH] score: Merge threadmp implementation into one file --- cpukit/score/Makefile.am | 1 - cpukit/score/include/rtems/score/threadmp.h | 44 +++++++++++--- cpukit/score/inline/rtems/score/threadmp.inl | 64 -------------------- cpukit/score/preinstall.am | 4 -- 4 files changed, 35 insertions(+), 78 deletions(-) delete mode 100644 cpukit/score/inline/rtems/score/threadmp.inl 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 directly; include instead." #endif +#include + +#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 -#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) + +/** + * 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 ); +} + +/**@}*/ #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 directly; include instead." -#endif - -#include - -#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