diff options
author | Amar Takhar <amar@rtems.org> | 2014-12-28 17:17:06 -0500 |
---|---|---|
committer | Amar Takhar <amar@rtems.org> | 2015-12-13 14:12:17 -0500 |
commit | 0d53be8e9f84b329e6e021d07e1a54a0770d15f7 (patch) | |
tree | cacf3b89e519fbf8f29926e181c4ea9e2b9568d9 /cpukit | |
parent | 5523caae5a0dcc75afb7fb97c47dbbf4e8c31139 (diff) |
Move the rtems MP headers.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/barriermp.h | 147 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/eventmp.h | 142 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/mp.h | 61 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/msgmp.h | 183 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/partmp.h | 153 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/regionmp.h | 158 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/semmp.h | 182 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/signalmp.h | 139 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/taskmp.h | 162 |
9 files changed, 0 insertions, 1327 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/barriermp.h b/cpukit/rtems/include/rtems/rtems/barriermp.h deleted file mode 100644 index c4c2e9814b..0000000000 --- a/cpukit/rtems/include/rtems/rtems/barriermp.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * @file rtems/rtems/barriermp.h - * - * @brief MP Support in the Barrier Manager - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Barrier Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_BARRIERMP_H -#define _RTEMS_RTEMS_BARRIERMP_H - -#include <rtems/score/mpciimpl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicBarrierMP Barrier MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Barrier Manager. - */ -/**@{*/ - -/** - * The following enumerated type defines the list of - * remote barrier operations. - */ -typedef enum { - BARRIER_MP_ANNOUNCE_CREATE = 0, - BARRIER_MP_ANNOUNCE_DELETE = 1, - BARRIER_MP_EXTRACT_PROXY = 2, - BARRIER_MP_WAIT_REQUEST = 3, - BARRIER_MP_WAIT_RESPONSE = 4, - BARRIER_MP_RELEASE_REQUEST = 5, - BARRIER_MP_RELEASE_RESPONSE = 6 -} Barrier_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote barrier operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Barrier_MP_Remote_operations operation; - rtems_name name; - rtems_option option_set; - Objects_Id proxy_id; -} Barrier_MP_Packet; - -/** - * @brief _Barrier_MP_Send_process_packet - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ -void _Barrier_MP_Send_process_packet ( - Barrier_MP_Remote_operations operation, - Objects_Id barrier_id, - rtems_name name, - Objects_Id proxy_id -); - -/** - * @brief _Barrier_MP_Send_request_packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Barrier_MP_Send_request_packet ( - Barrier_MP_Remote_operations operation, - Objects_Id barrier_id, - rtems_interval timeout -); - -/** - * @brief _Barrier_MP_Send_response_packet - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ - -void _Barrier_MP_Send_response_packet ( - Barrier_MP_Remote_operations operation, - Objects_Id barrier_id, - Thread_Control *the_thread -); - -/** - * @brief _Barrier_MP_Process_packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Barrier_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/** - * @brief _Barrier_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ -void _Barrier_MP_Send_object_was_deleted ( - Thread_Control *the_proxy -); - -/** - * @brief _Barrier_MP_Send_extract_proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ -void _Barrier_MP_Send_extract_proxy ( - void *argument -); - -/** - * @brief _Barrier_MP_Get_packet - * - * This function is used to obtain a barrier mp packet. - */ -Barrier_MP_Packet *_Barrier_MP_Get_packet ( void ); - -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/eventmp.h b/cpukit/rtems/include/rtems/rtems/eventmp.h deleted file mode 100644 index b65584db51..0000000000 --- a/cpukit/rtems/include/rtems/rtems/eventmp.h +++ /dev/null @@ -1,142 +0,0 @@ -/** - * @file rtems/rtems/eventmp.h - * - * @defgroup ClassicEventMP Event MP Support - * - * @ingroup ClassicRTEMS - * @brief Event Manager MP Support - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Event Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_EVENTMP_H -#define _RTEMS_RTEMS_EVENTMP_H - -#ifndef _RTEMS_RTEMS_EVENTIMPL_H -# error "Never use <rtems/rtems/eventmp.h> directly; include <rtems/rtems/eventimpl.h> instead." -#endif - -#include <rtems/score/mpciimpl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicEventMP Event MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Event Manager. - */ -/**@{*/ - -/** - * The following enumerated type defines the list of - * remote event operations. - */ -typedef enum { - EVENT_MP_SEND_REQUEST = 0, - EVENT_MP_SEND_RESPONSE = 1 -} Event_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote event operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Event_MP_Remote_operations operation; - rtems_event_set event_in; -} Event_MP_Packet; - -/* - * @brief Event_MP_Send_process_packet - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - * - * @note This routine is not needed since there are no process - * packets to be sent by this manager. - */ - -/** - * @brief Event MP Send Packet Request - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Event_MP_Send_request_packet ( - Event_MP_Remote_operations operation, - Objects_Id event_id, - rtems_event_set event_in -); - -/** - * @brief Event MP Send Packet Response - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ -void _Event_MP_Send_response_packet ( - Event_MP_Remote_operations operation, - Thread_Control *the_thread -); - -/** - * @brief Event MP Packet Process - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Event_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/* - * @brief Event_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - * - * This routine is not needed since there are no objects - * deleted by this manager. - */ - -/* - * @brief Event_MP_Send_extract_proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - * - * This routine is not needed since there are no objects - * deleted by this manager. - */ - -/** - * @brief Event MP Get Packet - * - * This function is used to obtain a event mp packet. - */ -Event_MP_Packet *_Event_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif -/* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/mp.h b/cpukit/rtems/include/rtems/rtems/mp.h deleted file mode 100644 index da8c11446c..0000000000 --- a/cpukit/rtems/include/rtems/rtems/mp.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file rtems/rtems/mp.h - * - * @defgroup ClassicMP Multiprocessing - * - * @ingroup ClassicRTEMS - * @brief Multiprocessing Manager - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_MP_H -#define _RTEMS_RTEMS_MP_H - -/** - * @defgroup ClassicMP Multiprocessing - * - * @ingroup ClassicRTEMS - * - * This encapsulates functionality related to the distributed - * Multiprocessing support in the Classic API. - */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Multiprocessing Manager Initialization - * - * This routine performs the initialization necessary for this manager. - */ -void _Multiprocessing_Manager_initialization ( void ); - -/** - * @brief RTEMS Multiprocessing Announce - * - * This routine implements the MULTIPROCESSING_ANNOUNCE directive. - * It is invoked by the MPCI layer to indicate that an MPCI packet - * has been received. - */ -void rtems_multiprocessing_announce ( void ); - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif -/* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/msgmp.h b/cpukit/rtems/include/rtems/rtems/msgmp.h deleted file mode 100644 index 3c2b450f34..0000000000 --- a/cpukit/rtems/include/rtems/rtems/msgmp.h +++ /dev/null @@ -1,183 +0,0 @@ -/** - * @file rtems/rtems/msgmp.h - * - * @brief Message Manager MP Support - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Message Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_MSGMP_H -#define _RTEMS_RTEMS_MSGMP_H - -#ifndef _RTEMS_RTEMS_MESSAGEIMPL_H -# error "Never use <rtems/rtems/msgmp.h> directly; include <rtems/rtems/messageimpl.h> instead." -#endif - -#include <rtems/score/mpciimpl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicMsgMP Message Queue MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Message Queue Manager. - */ -/*{*/ - -/** - * The following enumerated type defines the list of - * remote message queue operations. - */ -typedef enum { - MESSAGE_QUEUE_MP_ANNOUNCE_CREATE = 0, - MESSAGE_QUEUE_MP_ANNOUNCE_DELETE = 1, - MESSAGE_QUEUE_MP_EXTRACT_PROXY = 2, - MESSAGE_QUEUE_MP_RECEIVE_REQUEST = 3, - MESSAGE_QUEUE_MP_RECEIVE_RESPONSE = 4, - MESSAGE_QUEUE_MP_SEND_REQUEST = 5, - MESSAGE_QUEUE_MP_SEND_RESPONSE = 6, - MESSAGE_QUEUE_MP_URGENT_REQUEST = 7, - MESSAGE_QUEUE_MP_URGENT_RESPONSE = 8, - MESSAGE_QUEUE_MP_BROADCAST_REQUEST = 9, - MESSAGE_QUEUE_MP_BROADCAST_RESPONSE = 10, - MESSAGE_QUEUE_MP_FLUSH_REQUEST = 11, - MESSAGE_QUEUE_MP_FLUSH_RESPONSE = 12, - MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_REQUEST = 13, - MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_RESPONSE = 14 -} Message_queue_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote message queue operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Message_queue_MP_Remote_operations operation; - rtems_name name; - rtems_option option_set; - Objects_Id proxy_id; - uint32_t count; - size_t size; - uint32_t pad0; - CORE_message_queue_Buffer Buffer; -} Message_queue_MP_Packet; - -#define MESSAGE_QUEUE_MP_PACKET_SIZE \ - offsetof(Message_queue_MP_Packet, Buffer.buffer) - -/** - * @brief Message_queue_Core_message_queue_mp_support - * - * Input parameters: - * the_thread - the remote thread the message was submitted to - * id - id of the message queue - * - * Output parameters: NONE - */ -void _Message_queue_Core_message_queue_mp_support ( - Thread_Control *the_thread, - rtems_id id -); - -/** - * @brief _Message_queue_MP_Send_process_packet - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ -void _Message_queue_MP_Send_process_packet ( - Message_queue_MP_Remote_operations operation, - Objects_Id message_queue_id, - rtems_name name, - Objects_Id proxy_id -); - -/** - * @brief _Message_queue_MP_Send_request_packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Message_queue_MP_Send_request_packet ( - Message_queue_MP_Remote_operations operation, - Objects_Id message_queue_id, - const void *buffer, - size_t *size_p, - rtems_option option_set, - rtems_interval timeout -); - -/** - * @brief _Message_queue_MP_Send_response_packet - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ -void _Message_queue_MP_Send_response_packet ( - Message_queue_MP_Remote_operations operation, - Objects_Id message_queue_id, - Thread_Control *the_thread -); - -/** - * - * @brief _Message_queue_MP_Process_packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Message_queue_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/** - * @brief _Message_queue_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ -void _Message_queue_MP_Send_object_was_deleted ( - Thread_Control *the_proxy -); - -/** - * @brief _Message_queue_MP_Send_extract_proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ -void _Message_queue_MP_Send_extract_proxy ( - void *argument -); - -/** - * @brief _Message_queue_MP_Get_packet - * - * This function is used to obtain a message queue mp packet. - */ -Message_queue_MP_Packet *_Message_queue_MP_Get_packet ( void ); - -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/partmp.h b/cpukit/rtems/include/rtems/rtems/partmp.h deleted file mode 100644 index 0658a78b65..0000000000 --- a/cpukit/rtems/include/rtems/rtems/partmp.h +++ /dev/null @@ -1,153 +0,0 @@ -/** - * @file rtems/rtems/partmp.h - * - * @brief MP Support in Partition Manager - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Partition Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_PARTMP_H -#define _RTEMS_RTEMS_PARTMP_H - -#ifndef _RTEMS_RTEMS_PARTIMPL_H -# error "Never use <rtems/rtems/partmp.h> directly; include <rtems/rtems/partimpl.h> instead." -#endif - -#include <rtems/score/mpciimpl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicPartMP Partition MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Partition Manager. - */ -/*{*/ - -/** - * The following enumerated type defines the list of - * remote partition operations. - */ -typedef enum { - PARTITION_MP_ANNOUNCE_CREATE = 0, - PARTITION_MP_ANNOUNCE_DELETE = 1, - PARTITION_MP_EXTRACT_PROXY = 2, - PARTITION_MP_GET_BUFFER_REQUEST = 3, - PARTITION_MP_GET_BUFFER_RESPONSE = 4, - PARTITION_MP_RETURN_BUFFER_REQUEST = 5, - PARTITION_MP_RETURN_BUFFER_RESPONSE = 6 -} Partition_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote partition operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Partition_MP_Remote_operations operation; - rtems_name name; - void *buffer; - Objects_Id proxy_id; -} Partition_MP_Packet; - -/** - * @brief Partition_MP_Send_process_packet - * - * Multiprocessing Support for the Partition Manager - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ -void _Partition_MP_Send_process_packet ( - Partition_MP_Remote_operations operation, - Objects_Id partition_id, - rtems_name name, - Objects_Id proxy_id -); - -/** - * @brief Partition_MP_Send_request_packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Partition_MP_Send_request_packet ( - Partition_MP_Remote_operations operation, - Objects_Id partition_id, - void *buffer -); - -/** - * @brief Partition_MP_Send_response_packet - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ -void _Partition_MP_Send_response_packet ( - Partition_MP_Remote_operations operation, - Objects_Id partition_id, - Thread_Control *the_thread -); - -/** - * - * @brief Partition_MP_Process_packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Partition_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/* - * @brief Partition_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - * - * This routine is not needed by the Partition since a partition - * cannot be deleted when buffers are in use. - */ - -/** - * @brief Partition_MP_Send_extract_proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ -void _Partition_MP_Send_extract_proxy ( - void *argument -); - -/** - * @brief Partition_MP_Get_packet - * - * This function is used to obtain a partition mp packet. - */ -Partition_MP_Packet *_Partition_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif -/* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/regionmp.h b/cpukit/rtems/include/rtems/rtems/regionmp.h deleted file mode 100644 index 2b265f2a5f..0000000000 --- a/cpukit/rtems/include/rtems/rtems/regionmp.h +++ /dev/null @@ -1,158 +0,0 @@ -/** - * @file rtems/rtems/regionmp.h - * - * @defgroup ClassicRegionMP Region MP Support - * - * @ingroup ClassicMP - * @brief Multiprocessing Support in Region Manager - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Region Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_REGIONMP_H -#define _RTEMS_RTEMS_REGIONMP_H - -#ifndef _RTEMS_RTEMS_REGIONIMPL_H -# error "Never use <rtems/rtems/regionmp.h> directly; include <rtems/rtems/regionimpl.h> instead." -#endif - -#include <rtems/score/mpciimpl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicRegionMP Region MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Region Manager. - */ -/**@{*/ - -/** - * The following enumerated type defines the list of - * remote region operations. - */ -typedef enum { - REGION_MP_ANNOUNCE_CREATE = 0, - REGION_MP_ANNOUNCE_DELETE = 1, - REGION_MP_EXTRACT_PROXY = 2, - REGION_MP_GET_SEGMENT_REQUEST = 3, - REGION_MP_GET_SEGMENT_RESPONSE = 4, - REGION_MP_RETURN_SEGMENT_REQUEST = 5, - REGION_MP_RETURN_SEGMENT_RESPONSE = 6 -} Region_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote region operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Region_MP_Remote_operations operation; - rtems_name name; - rtems_option option_set; - uint32_t size; - Objects_Id proxy_id; - void *segment; -} Region_MP_Packet; - -/** - * @brief Region MP Send Process Packet - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ -void _Region_MP_Send_process_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - rtems_name name, - Objects_Id proxy_id -); - -/** - * @brief Region MP Send Request Packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Region_MP_Send_request_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - void *segment, - intptr_t size, - rtems_option option_set, - rtems_interval timeout -); - -/** - * @brief Region MP Send Response Packet - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ -void _Region_MP_Send_response_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - Thread_Control *the_thread -); - -/** - * @brief Region MP Process Packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Region_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/* - * @brief _Region_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - * - * This routine is not needed by the Region since a region - * cannot be deleted when segments are in use. - */ - -/** - * @brief Region MP Send Extract Proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ -void _Region_MP_Send_extract_proxy ( - void *argument -); - -/** - * @brief RegionMP Get Packet - * - * This function is used to obtain a region mp packet. - */ -Region_MP_Packet *_Region_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif -/* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/semmp.h b/cpukit/rtems/include/rtems/rtems/semmp.h deleted file mode 100644 index 9fd6c74a5a..0000000000 --- a/cpukit/rtems/include/rtems/rtems/semmp.h +++ /dev/null @@ -1,182 +0,0 @@ -/** - * @file rtems/rtems/semmp.h - * - * @defgroup ClassicSEM Semaphore MP Support - * - * @ingroup ClassicRTEMS - * @brief Semaphore Manager MP Support - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Semaphore Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_SEMMP_H -#define _RTEMS_RTEMS_SEMMP_H - -#ifndef _RTEMS_RTEMS_SEMIMPL_H -# error "Never use <rtems/rtems/semmp.h> directly; include <rtems/rtems/semimpl.h> instead." -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicSEM Semaphore MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Semaphore Manager. - */ -/**@{*/ - -/** - * The following enumerated type defines the list of - * remote semaphore operations. - */ -typedef enum { - SEMAPHORE_MP_ANNOUNCE_CREATE = 0, - SEMAPHORE_MP_ANNOUNCE_DELETE = 1, - SEMAPHORE_MP_EXTRACT_PROXY = 2, - SEMAPHORE_MP_OBTAIN_REQUEST = 3, - SEMAPHORE_MP_OBTAIN_RESPONSE = 4, - SEMAPHORE_MP_RELEASE_REQUEST = 5, - SEMAPHORE_MP_RELEASE_RESPONSE = 6 -} Semaphore_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote semaphore operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Semaphore_MP_Remote_operations operation; - rtems_name name; - rtems_option option_set; - Objects_Id proxy_id; -} Semaphore_MP_Packet; - -/** - * @brief Semaphore MP Send Process Packet - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ -void _Semaphore_MP_Send_process_packet ( - Semaphore_MP_Remote_operations operation, - Objects_Id semaphore_id, - rtems_name name, - Objects_Id proxy_id -); - -/** - * @brief Semaphore MP Send Request Packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Semaphore_MP_Send_request_packet ( - Semaphore_MP_Remote_operations operation, - Objects_Id semaphore_id, - rtems_option option_set, - rtems_interval timeout -); - -/** - * @brief Semaphore MP Send Response Packet - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ -void _Semaphore_MP_Send_response_packet ( - Semaphore_MP_Remote_operations operation, - Objects_Id semaphore_id, - Thread_Control *the_thread -); - -/** - * @brief Semaphore MP Process Packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Semaphore_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/** - * @brief Semaphore MP Send Object was Deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ -void _Semaphore_MP_Send_object_was_deleted ( - Thread_Control *the_proxy -); - -/** - * @brief Semaphore MP Send Extract Proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ -void _Semaphore_MP_Send_extract_proxy ( - void *argument -); - -/** - * @brief Semaphore MP Get Packet - * - * This function is used to obtain a semaphore mp packet. - */ -Semaphore_MP_Packet *_Semaphore_MP_Get_packet ( void ); - -/** - * @brief Semaphore Core Mutex MP Support - * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core mutex. This function - * is called by the core. - * - * @param[in] the_thread the remote thread the semaphore was surrendered to - * @param[in] id is the id of the surrendered semaphore - */ -void _Semaphore_Core_mutex_mp_support ( - Thread_Control *the_thread, - Objects_Id id -); - -/** - * @brief Semaphore Core MP Support - * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core semaphore. This function - * is called by the core. - * - * @param[in] the_thread the remote thread the semaphore was surrendered to - * @param[in] id is the id of the surrendered semaphore - */ -void _Semaphore_Core_semaphore_mp_support ( - Thread_Control *the_thread, - Objects_Id id -); - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif -/* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/signalmp.h b/cpukit/rtems/include/rtems/rtems/signalmp.h deleted file mode 100644 index c6b9a3d045..0000000000 --- a/cpukit/rtems/include/rtems/rtems/signalmp.h +++ /dev/null @@ -1,139 +0,0 @@ -/** - * @file rtems/rtems/signalmp.h - * - * @brief Signal MP Support - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Signal Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_SIGNALMP_H -#define _RTEMS_RTEMS_SIGNALMP_H - -#ifndef _RTEMS_RTEMS_SIGNALIMPL_H -# error "Never use <rtems/rtems/signalmp.h> directly; include <rtems/rtems/signalimpl.h> instead." -#endif - -#include <rtems/score/mpciimpl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicSignalMP Signal MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Signal Manager. - */ -/*{*/ - -/** - * The following enumerated type defines the list of - * remote signal operations. - */ -typedef enum { - SIGNAL_MP_SEND_REQUEST = 0, - SIGNAL_MP_SEND_RESPONSE = 1 -} Signal_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote signal operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Signal_MP_Remote_operations operation; - rtems_signal_set signal_in; -} Signal_MP_Packet; - -/* - * @brief Signal_MP_Send_process_packet - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - * - * This routine is not needed since there are no process - * packets to be sent by this manager. - */ - -/** - * @brief Signal MP Send Request Packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Signal_MP_Send_request_packet ( - Signal_MP_Remote_operations operation, - Objects_Id task_id, - rtems_signal_set signal_in -); - -/** - * @brief Signal MP Send Response Packet - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ -void _Signal_MP_Send_response_packet ( - Signal_MP_Remote_operations operation, - Thread_Control *the_thread -); - -/** - * @brief Signal MP Process Packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Signal_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/* - * @brief Signal_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - * - * This routine is not needed since there are no objects - * deleted by this manager. - */ - -/* - * @brief Signal_MP_Send_extract_proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - * - * This routine is not needed since there are no objects - * deleted by this manager. - */ - -/** - * @brief Signal MP Get Packet - * - * This function is used to obtain a signal mp packet. - */ -Signal_MP_Packet *_Signal_MP_Get_packet ( void ); - -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/taskmp.h b/cpukit/rtems/include/rtems/rtems/taskmp.h deleted file mode 100644 index 30a9a6a066..0000000000 --- a/cpukit/rtems/include/rtems/rtems/taskmp.h +++ /dev/null @@ -1,162 +0,0 @@ -/** - * @file rtems/rtems/taskmp.h - * - * @defgroup ClassicTaskMP Task MP Support - * - * @ingroup ClassicRTEMS - * @brief Task Manager MP Support - * - * This include file contains all the constants and structures associated - * with the multiprocessing support in the task manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_TASKMP_H -#define _RTEMS_RTEMS_TASKMP_H - -#ifndef _RTEMS_RTEMS_TASKSIMPL_H -# error "Never use <rtems/rtems/taskmp.h> directly; include <rtems/rtems/tasksimpl.h> instead." -#endif - -#include <rtems/score/mpciimpl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicTaskMP Task MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Task Manager. - */ -/**@{*/ - -/** - * The following enumerated type defines the list of - * remote task operations. - */ -typedef enum { - RTEMS_TASKS_MP_ANNOUNCE_CREATE = 0, - RTEMS_TASKS_MP_ANNOUNCE_DELETE = 1, - RTEMS_TASKS_MP_SUSPEND_REQUEST = 2, - RTEMS_TASKS_MP_SUSPEND_RESPONSE = 3, - RTEMS_TASKS_MP_RESUME_REQUEST = 4, - RTEMS_TASKS_MP_RESUME_RESPONSE = 5, - RTEMS_TASKS_MP_SET_PRIORITY_REQUEST = 6, - RTEMS_TASKS_MP_SET_PRIORITY_RESPONSE = 7, - RTEMS_TASKS_MP_GET_NOTE_REQUEST = 8, - RTEMS_TASKS_MP_GET_NOTE_RESPONSE = 9, - RTEMS_TASKS_MP_SET_NOTE_REQUEST = 10, - RTEMS_TASKS_MP_SET_NOTE_RESPONSE = 11 -} RTEMS_tasks_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote task operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - RTEMS_tasks_MP_Remote_operations operation; - rtems_name name; - rtems_task_priority the_priority; - uint32_t notepad; - uint32_t note; -} RTEMS_tasks_MP_Packet; - -/** - * @brief RTEMS Tasks MP Send Process Packet - * - * Multiprocessing Support for the RTEMS Task Manager - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ -void _RTEMS_tasks_MP_Send_process_packet ( - RTEMS_tasks_MP_Remote_operations operation, - Objects_Id task_id, - rtems_name name -); - -/** - * @brief _RTEMS_tasks_MP_Send_request_packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _RTEMS_tasks_MP_Send_request_packet ( - RTEMS_tasks_MP_Remote_operations operation, - Objects_Id task_id, - rtems_task_priority the_priority, - uint32_t notepad, - uint32_t note -); - -/** - * @brief _RTEMS_tasks_MP_Send_response_packet - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ -void _RTEMS_tasks_MP_Send_response_packet ( - RTEMS_tasks_MP_Remote_operations operation, - Thread_Control *the_thread -); - -/** - * @brief _RTEMS_tasks_MP_Process_packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _RTEMS_tasks_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/** - * @brief _RTEMS_tasks_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - * - * This routine is not needed by RTEMS_tasks since a task - * cannot be deleted when segments are in use. - */ - -/* - * _RTEMS_tasks_MP_Send_extract_proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - * - * This routine is not needed since there are no objects - * deleted by this manager. - * - */ - -/** - * @brief _RTEMS_tasks_MP_Get_packet - * - * This function is used to obtain a task mp packet. - */ -RTEMS_tasks_MP_Packet *_RTEMS_tasks_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif -/* end of file */ |