27 #include <rtems/sysinit.h> 32 void *starting_address,
49 if ( starting_address == NULL ) {
56 if ( buffer_size == 0 )
59 if ( length < buffer_size )
62 if ( !_Partition_Is_buffer_size_aligned( buffer_size ) )
68 if ( !_Partition_Is_buffer_area_aligned( starting_address ) )
71 #if defined(RTEMS_MULTIPROCESSING) 72 if ( !_System_state_Is_multiprocessing ) {
79 if ( !the_partition ) {
84 #if defined(RTEMS_MULTIPROCESSING) 85 if ( _Attributes_Is_global( attribute_set ) &&
87 the_partition->
Object.
id,
false ) ) ) {
94 _Partition_Initialize(
109 #if defined(RTEMS_MULTIPROCESSING) 110 if ( _Attributes_Is_global( attribute_set ) )
111 _Partition_MP_Send_process_packet(
112 PARTITION_MP_ANNOUNCE_CREATE,
123 static void _Partition_Manager_initialization(
void )
129 _Partition_Manager_initialization,
130 RTEMS_SYSINIT_CLASSIC_PARTITION,
131 RTEMS_SYSINIT_ORDER_MIDDLE
This status code indicates you have attempted to create too many instances of a particular object cla...
static __inline__ void _Objects_Allocator_unlock(void)
Unlocks the object allocator mutex.
This header file defines support services of the API.
Objects_Information _Partition_Information
The Classic Partition objects information.
uint32_t rtems_name
This type is used to represent a Classic API object name.
void _Objects_Initialize_information(Objects_Information *information)
Initializes the specified objects information.
Constants and Structures Related with Thread Dispatch.
static bool rtems_is_name_valid(rtems_status_code name)
Returns true, if the specified object name is valid, otherwise returns false.
rtems_status_code rtems_partition_create(rtems_name name, void *starting_address, uintptr_t length, size_t buffer_size, rtems_attribute attribute_set, rtems_id *id)
Creates a partition.
This status code indicates successful completion.
static __inline__ void _Objects_Open(Objects_Information *information, Objects_Control *the_object, Objects_Name name)
Places the_object control pointer and object name in the Local Pointer and Local Name Tables...
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
This status code indicates that a specified address was invalid.
uint32_t rtems_attribute
This type is used to represent Classic API attributes.
Classic Attributes Implementation.
Objects_Id rtems_id
Values of this type identify an RTEMS object.
System State Handler API.
RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Clear(rtems_attribute attribute_set, rtems_attribute mask)
Clears the requested new_attributes in the attribute_set passed in.
Classic Partition Manager Implementation.
static __inline__ Partition_Control * _Partition_Allocate(void)
Allocates a partition control block from the inactive chain of free partition control blocks...
This status code indicates that an object name was invalid.
static __inline__ void _Partition_Free(Partition_Control *the_partition)
Frees a partition control block to the inactive chain of free partition control blocks.
#define RTEMS_GLOBAL
This attribute constant indicates that the Classic API object shall be a global resource in a multipr...
This status code indicates that a specified size was invalid.