static void _Message_queue_Manager_initialization(void) { _Objects_Initialize_information( &_Message_queue_Information, /* object information table */ OBJECTS_CLASSIC_API, /* object API */ OBJECTS_RTEMS_MESSAGE_QUEUES, /* object class */ Configuration_RTEMS_API.maximum_message_queues, /* maximum objects of this class */ sizeof( Message_queue_Control ), /* size of this object's control block */ false, /* true if names of this object are strings */ RTEMS_MAXIMUM_NAME_LENGTH, /* maximum length of each object's name */ _Message_queue_MP_Send_extract_proxy /* Proxy extraction support callout */ ); /* * Register the MP Process Packet routine. */ #if defined(RTEMS_MULTIPROCESSING) _MPCI_Register_packet_processor( MP_PACKET_MESSAGE_QUEUE, _Message_queue_MP_Process_packet ); #endif }
void _Partition_Manager_initialization(void) { _Objects_Initialize_information( &_Partition_Information, /* object information table */ OBJECTS_CLASSIC_API, /* object API */ OBJECTS_RTEMS_PARTITIONS, /* object class */ Configuration_RTEMS_API.maximum_partitions, /* maximum objects of this class */ sizeof( Partition_Control ), /* size of this object's control block */ false, /* true if the name is a string */ RTEMS_MAXIMUM_NAME_LENGTH /* maximum length of an object name */ #if defined(RTEMS_MULTIPROCESSING) , true, /* true if this is a global object class */ _Partition_MP_Send_extract_proxy /* Proxy extraction support callout */ #endif ); /* * Register the MP Process Packet routine. */ #if defined(RTEMS_MULTIPROCESSING) _MPCI_Register_packet_processor( MP_PACKET_PARTITION, _Partition_MP_Process_packet ); #endif }
static void _Signal_Manager_initialization( void ) { _MPCI_Register_packet_processor( MP_PACKET_SIGNAL, _Signal_MP_Process_packet ); }
void _Event_Manager_initialization( void ) { _Event_Sync_state = THREAD_BLOCKING_OPERATION_SYNCHRONIZED; /* * Register the MP Process Packet routine. */ #if defined(RTEMS_MULTIPROCESSING) _MPCI_Register_packet_processor( MP_PACKET_EVENT, _Event_MP_Process_packet ); #endif }
void _Signal_Manager_initialization( void ) { /* * Register the MP Process Packet routine. */ #if defined(RTEMS_MULTIPROCESSING) _MPCI_Register_packet_processor( MP_PACKET_SIGNAL, _Signal_MP_Process_packet ); #endif }
void _MPCI_Handler_initialization( uint32_t timeout_status ) { CORE_semaphore_Attributes attributes; MPCI_Control *users_mpci_table; users_mpci_table = _Configuration_MP_table->User_mpci_table; if ( _System_state_Is_multiprocessing && !users_mpci_table ) _Internal_error_Occurred( INTERNAL_ERROR_CORE, true, INTERNAL_ERROR_NO_MPCI ); _MPCI_table = users_mpci_table; if ( !_System_state_Is_multiprocessing ) return; /* * Register the MP Process Packet routine. */ _MPCI_Register_packet_processor( MP_PACKET_MPCI_INTERNAL, _MPCI_Internal_packets_Process_packet ); /* * Create the counting semaphore used by the MPCI Receive Server. */ attributes.discipline = CORE_SEMAPHORE_DISCIPLINES_FIFO; _CORE_semaphore_Initialize( &_MPCI_Semaphore, &attributes, /* the_semaphore_attributes */ 0 /* initial_value */ ); _Thread_queue_Initialize( &_MPCI_Remote_blocked_threads, THREAD_QUEUE_DISCIPLINE_FIFO, STATES_WAITING_FOR_RPC_REPLY, timeout_status ); }
void _RTEMS_tasks_Manager_initialization(void) { _Objects_Initialize_information( &_RTEMS_tasks_Information, /* object information table */ OBJECTS_CLASSIC_API, /* object API */ OBJECTS_RTEMS_TASKS, /* object class */ Configuration_RTEMS_API.maximum_tasks, /* maximum objects of this class */ sizeof( Thread_Control ), /* size of this object's control block */ false, /* true if the name is a string */ RTEMS_MAXIMUM_NAME_LENGTH /* maximum length of an object name */ #if defined(RTEMS_MULTIPROCESSING) , true, /* true if this is a global object class */ NULL /* Proxy extraction support callout */ #endif ); /* * Add all the extensions for this API */ _User_extensions_Add_API_set( &_RTEMS_tasks_User_extensions ); _API_extensions_Add( &_RTEMS_tasks_API_extensions ); /* * Register the MP Process Packet routine. */ #if defined(RTEMS_MULTIPROCESSING) _MPCI_Register_packet_processor( MP_PACKET_TASKS, _RTEMS_tasks_MP_Process_packet ); #endif }