RTEMS CPU Kit with SuperCore
4.11.3
|
Partition Manager. More...
![]() |
Modules | |
Classic Partition Manager Implementation | |
Files | |
file | part.c |
Partition Manager Initialization. | |
file | partcreate.c |
RTEMS Partition Create. | |
file | partdata.c |
Instantiate RTEMS Partition Data. | |
file | partdelete.c |
RTEMS Delete Partition. | |
file | partgetbuffer.c |
RTEMS Get Partition Buffer. | |
file | partident.c |
RTEMS Partition Name to Id. | |
Data Structures | |
struct | Partition_Control |
The following defines the control block used to manage each partition. More... | |
Functions | |
rtems_status_code | rtems_partition_create (rtems_name name, void *starting_address, uint32_t length, uint32_t buffer_size, rtems_attribute attribute_set, rtems_id *id) |
RTEMS Partition Create. More... | |
rtems_status_code | rtems_partition_ident (rtems_name name, uint32_t node, rtems_id *id) |
RTEMS Partition Ident. More... | |
rtems_status_code | rtems_partition_delete (rtems_id id) |
RTEMS Delete Partition. More... | |
rtems_status_code | rtems_partition_get_buffer (rtems_id id, void **buffer) |
RTEMS Get Partition Buffer. More... | |
rtems_status_code | rtems_partition_return_buffer (rtems_id id, void *buffer) |
rtems_partition_return_buffer More... | |
Partition Manager.
This encapsulates functionality related to the Classic API Partition Manager.
This include file contains all the constants and structures associated with the Partition Manager. This manager provides facilities to dynamically allocate memory in fixed-sized units which are returned as buffers.
Directives provided are:
rtems_status_code rtems_partition_create | ( | rtems_name | name, |
void * | starting_address, | ||
uint32_t | length, | ||
uint32_t | buffer_size, | ||
rtems_attribute | attribute_set, | ||
rtems_id * | id | ||
) |
RTEMS Partition Create.
Partition Manager
This routine implements the rtems_partition_create directive. The partition will have the name name. The memory area managed by the partition is of length bytes and starts at starting_address. The memory area will be divided into as many buffers of buffer_size bytes as possible. The attribute_set determines if the partition is global or local. It returns the id of the created partition in ID.
rtems_status_code rtems_partition_delete | ( | rtems_id | id | ) |
RTEMS Delete Partition.
This routine implements the rtems_partition_delete directive. The partition indicated by ID is deleted, provided that none of its buffers are still allocated.
[in] | id | is the partition id |
This | method returns RTEMS_SUCCESSFUL if there was not an error. Otherwise, a status code is returned indicating the source of the error. |
References _Objects_Allocator_lock(), and _Partition_Get().
rtems_status_code rtems_partition_get_buffer | ( | rtems_id | id, |
void ** | buffer | ||
) |
RTEMS Get Partition Buffer.
This routine implements the rtems_partition_get_buffer directive. It attempts to allocate a buffer from the partition associated with ID. If a buffer is allocated, its address is returned in buffer.
[in] | id | is the partition id |
[out] | buffer | is the pointer to buffer address |
RTEMS_SUCCESSFUL | if successful or error code if unsuccessful |
rtems_status_code rtems_partition_ident | ( | rtems_name | name, |
uint32_t | node, | ||
rtems_id * | id | ||
) |
RTEMS Partition Ident.
This routine implements the rtems_partition_ident directive. This directive returns the partition ID associated with name. If more than one partition is named name, then the partition to which the ID belongs is arbitrary. node indicates the extent of the search for the ID of the partition named name. The search can be limited to a particular node or allowed to encompass all nodes.
[in] | name | is the user defined partition name |
[in] | node | is(are) the node(s) to be searched |
[in] | id | is the pointer to partition id |
RTEMS_SUCCESSFUL | if successful or error code if unsuccessful and *id filled in with the partition id |
rtems_status_code rtems_partition_return_buffer | ( | rtems_id | id, |
void * | buffer | ||
) |
rtems_partition_return_buffer
This routine implements the rtems_partition_return_buffer directive. It frees the buffer to the partition associated with ID. The buffer must have been previously allocated from the same partition.