RTEMS CPU Kit with SuperCore
4.11.3
|
![]() |
Files | |
file | dpmemimpl.h |
Dual Ported Memory Manager Implementation. | |
Macros | |
#define | RTEMS_DPMEM_EXTERN extern |
This constant is defined to extern most of the time when using this header file. More... | |
Functions | |
void | _Dual_ported_memory_Manager_initialization (void) |
Dual Ported Memory Manager Initialization. More... | |
RTEMS_INLINE_ROUTINE Dual_ported_memory_Control * | _Dual_ported_memory_Allocate (void) |
Allocates a port control block from the inactive chain of free port control blocks. More... | |
RTEMS_INLINE_ROUTINE void | _Dual_ported_memory_Free (Dual_ported_memory_Control *the_port) |
Frees a port control block to the inactive chain of free port control blocks. More... | |
RTEMS_INLINE_ROUTINE Dual_ported_memory_Control * | _Dual_ported_memory_Get (Objects_Id id, Objects_Locations *location) |
Maps port IDs to port control blocks. More... | |
Variables | |
RTEMS_DPMEM_EXTERN Objects_Information | _Dual_ported_memory_Information |
Define the internal Dual Ported Memory information The following define the internal Dual Ported Memory information. | |
#define RTEMS_DPMEM_EXTERN extern |
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 Dual_ported_memory_Control* _Dual_ported_memory_Allocate | ( | void | ) |
Allocates a port control block from the inactive chain of free port control blocks.
This routine allocates a port control block from the inactive chain of free port control blocks.
References _Objects_Allocate().
RTEMS_INLINE_ROUTINE void _Dual_ported_memory_Free | ( | Dual_ported_memory_Control * | the_port | ) |
Frees a port control block to the inactive chain of free port control blocks.
This routine frees a port control block to the inactive chain of free port control blocks.
References _Objects_Free(), and Dual_ported_memory_Control::Object.
RTEMS_INLINE_ROUTINE Dual_ported_memory_Control* _Dual_ported_memory_Get | ( | Objects_Id | id, |
Objects_Locations * | location | ||
) |
Maps port IDs to port control blocks.
This function maps port IDs to port control blocks. If ID corresponds to a local port, then it returns the_port control pointer which maps to ID and location is set to OBJECTS_LOCAL. Global ports are not supported, thus if ID does not map to a local port, location is set to OBJECTS_ERROR and the_port is undefined.
References _Objects_Get().
Referenced by rtems_port_delete(), rtems_port_external_to_internal(), and rtems_port_internal_to_external().
void _Dual_ported_memory_Manager_initialization | ( | void | ) |
Dual Ported Memory Manager Initialization.
This routine performs the initialization necessary for this manager.
References _Dual_ported_memory_Information, and _Objects_Initialize_information().