RTEMS CPU Kit with SuperCore
4.11.3
|
![]() |
Macros | |
#define | RTEMS_BARRIER_EXTERN extern |
Instantiate Barrier Data. More... | |
Functions | |
void | _Barrier_Manager_initialization (void) |
_Barrier_Manager_initialization More... | |
RTEMS_INLINE_ROUTINE Barrier_Control * | _Barrier_Allocate (void) |
_Barrier_Allocate More... | |
RTEMS_INLINE_ROUTINE void | _Barrier_Free (Barrier_Control *the_barrier) |
_Barrier_Free More... | |
RTEMS_INLINE_ROUTINE Barrier_Control * | _Barrier_Get (Objects_Id id, Objects_Locations *location) |
_Barrier_Get More... | |
rtems_status_code | _Barrier_Translate_core_barrier_return_code (CORE_barrier_Status the_status) |
Translate SuperCore Barrier Status Code to RTEMS Status Code. More... | |
Variables | |
RTEMS_BARRIER_EXTERN Objects_Information | _Barrier_Information |
The following defines the information control block used to manage this class of objects. | |
#define RTEMS_BARRIER_EXTERN extern |
Instantiate Barrier Data.
Barrier Manager – Instantiate 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.
RTEMS_INLINE_ROUTINE Barrier_Control* _Barrier_Allocate | ( | void | ) |
_Barrier_Allocate
This function allocates a barrier control block from the inactive chain of free barrier control blocks.
References _Objects_Allocate().
Referenced by rtems_barrier_create().
RTEMS_INLINE_ROUTINE void _Barrier_Free | ( | Barrier_Control * | the_barrier | ) |
_Barrier_Free
This routine frees a barrier control block to the inactive chain of free barrier control blocks.
RTEMS_INLINE_ROUTINE Barrier_Control* _Barrier_Get | ( | Objects_Id | id, |
Objects_Locations * | location | ||
) |
_Barrier_Get
This function maps barrier IDs to barrier control blocks. If ID corresponds to a local barrier, then it returns the_barrier control pointer which maps to ID and location is set to OBJECTS_LOCAL. if the barrier ID is global and resides on a remote node, then location is set to OBJECTS_REMOTE, and the_barrier is undefined. Otherwise, location is set to OBJECTS_ERROR and the_barrier is undefined.
References _Barrier_Translate_core_barrier_return_code(), and _Objects_Get().
Referenced by rtems_barrier_delete(), and rtems_barrier_release().
void _Barrier_Manager_initialization | ( | void | ) |
_Barrier_Manager_initialization
This routine performs the initialization necessary for this manager.
References _Barrier_Information, and _Objects_Initialize_information().
rtems_status_code _Barrier_Translate_core_barrier_return_code | ( | CORE_barrier_Status | the_status | ) |
Translate SuperCore Barrier Status Code to RTEMS Status Code.
This function returns a RTEMS status code based on the barrier status code specified.
[in] | the_status | is the SuperCore Barrier status to translate. |
a | status code indicating success or the reason for failure. |
References CORE_BARRIER_STATUS_LAST, and RTEMS_INTERNAL_ERROR.
Referenced by _Barrier_Get().