score: Merge objectmp implementation into one file

This commit is contained in:
Sebastian Huber
2013-07-26 11:55:46 +02:00
parent 3cf392389d
commit cba15292d9
4 changed files with 44 additions and 85 deletions
-1
View File
@@ -106,7 +106,6 @@ include_rtems_score_HEADERS += inline/rtems/score/tod.inl
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
endif
## src
+44 -9
View File
@@ -19,6 +19,12 @@
#ifndef _RTEMS_SCORE_OBJECTMP_H
#define _RTEMS_SCORE_OBJECTMP_H
#include <rtems/score/chainimpl.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @defgroup ScoreObjectMP Object Handler Multiprocessing Support
*
@@ -30,10 +36,6 @@
*/
/**@{*/
#ifdef __cplusplus
extern "C" {
#endif
/**
* This defines the Global Object Control Block used to manage
* objects resident on other nodes. It is derived from Object.
@@ -189,15 +191,48 @@ SCORE_EXTERN uint32_t _Objects_MP_Maximum_global_objects;
*/
SCORE_EXTERN Chain_Control _Objects_MP_Inactive_global_objects;
#ifndef __RTEMS_APPLICATION__
#include <rtems/score/objectmp.inl>
#endif
/**
* This function allocates a Global Object control block.
*/
RTEMS_INLINE_ROUTINE Objects_MP_Control *_Objects_MP_Allocate_global_object (
void
)
{
return (Objects_MP_Control *)
_Chain_Get( &_Objects_MP_Inactive_global_objects );
}
/**
* This routine deallocates a Global Object control block.
*/
RTEMS_INLINE_ROUTINE void _Objects_MP_Free_global_object (
Objects_MP_Control *the_object
)
{
_Chain_Append(
&_Objects_MP_Inactive_global_objects,
&the_object->Object.Node
);
}
/**
* This function returns whether the global object is NULL or not.
*/
RTEMS_INLINE_ROUTINE bool _Objects_MP_Is_null_global_object (
Objects_MP_Control *the_object
)
{
return( the_object == NULL );
}
/**@}*/
#ifdef __cplusplus
}
#endif
/**@}*/
#endif
/* end of include file */
@@ -1,71 +0,0 @@
/**
* @file
*
* @brief Inlined Routines Associated with Global Objects
*
* This include file contains the bodies of all inlined routines
* which deal with global objects.
*/
/*
* 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_OBJECTMP_H
# error "Never use <rtems/score/objectmp.inl> directly; include <rtems/score/objectmp.h> instead."
#endif
#ifndef _RTEMS_SCORE_OBJECTMP_INL
#define _RTEMS_SCORE_OBJECTMP_INL
/**
* @addtogroup ScoreObjectMP
*/
/**@{**/
/**
* This function allocates a Global Object control block.
*/
RTEMS_INLINE_ROUTINE Objects_MP_Control *_Objects_MP_Allocate_global_object (
void
)
{
return (Objects_MP_Control *)
_Chain_Get( &_Objects_MP_Inactive_global_objects );
}
/**
* This routine deallocates a Global Object control block.
*/
RTEMS_INLINE_ROUTINE void _Objects_MP_Free_global_object (
Objects_MP_Control *the_object
)
{
_Chain_Append(
&_Objects_MP_Inactive_global_objects,
&the_object->Object.Node
);
}
/**
* This function returns whether the global object is NULL or not.
*/
RTEMS_INLINE_ROUTINE bool _Objects_MP_Is_null_global_object (
Objects_MP_Control *the_object
)
{
return( the_object == NULL );
}
/** @} */
#endif
/* end of include file */
-4
View File
@@ -343,8 +343,4 @@ if HAS_MP
$(PROJECT_INCLUDE)/rtems/score/mppkt.inl: inline/rtems/score/mppkt.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/mppkt.inl
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
endif