RTEMS CPU Kit with SuperCore
4.11.2
|
MPCI Layer Implementation. More...
#include <rtems/score/mpci.h>
Go to the source code of this file.
Data Structures | |
struct | MPCI_Internal_packet |
The following data structure defines the packet used to perform remote event operations. More... | |
Macros | |
#define | MPCI_DEFAULT_TIMEOUT 0xFFFFFFFF |
For packets associated with requests that don't already have a timeout, use the one specified by this MPCI driver. More... | |
Typedefs | |
typedef void(* | MPCI_Packet_processor) (MP_packet_Prefix *) |
The following defines the type for packet processing routines invoked by the MPCI Receive server. | |
Enumerations | |
enum | MPCI_Internal_Remote_operations { MPCI_PACKETS_SYSTEM_VERIFY = 0 } |
The following enumerated type defines the list of internal MP operations. | |
Functions | |
void | _MPCI_Handler_initialization (uint32_t timeout_status) |
Initialize the MPCI handler. More... | |
void | _MPCI_Create_server (void) |
Create the MPCI server thread. More... | |
void | _MPCI_Initialization (void) |
Initialize the MPCI driver. More... | |
void | _MPCI_Register_packet_processor (MP_packet_Classes the_class, MPCI_Packet_processor the_packet_processor) |
This routine registers the MPCI packet processor for the designated object class. More... | |
MP_packet_Prefix * | _MPCI_Get_packet (void) |
This function obtains a packet by invoking the user provided MPCI get packet callout. More... | |
void | _MPCI_Return_packet (MP_packet_Prefix *the_packet) |
Deallocate a packet. More... | |
void | _MPCI_Send_process_packet (uint32_t destination, MP_packet_Prefix *the_packet) |
Send a process packet. More... | |
uint32_t | _MPCI_Send_request_packet (uint32_t destination, MP_packet_Prefix *the_packet, States_Control extra_state, uint32_t timeout_code) |
Send a request packet. More... | |
void | _MPCI_Send_response_packet (uint32_t destination, MP_packet_Prefix *the_packet) |
Send a response packet. More... | |
MP_packet_Prefix * | _MPCI_Receive_packet (void) |
Receive a packet. More... | |
Thread_Control * | _MPCI_Process_response (MP_packet_Prefix *the_packet) |
Pass a packet to the thread. More... | |
Thread | _MPCI_Receive_server (uint32_t ignored) |
Receive and process all packets. More... | |
void | _MPCI_Announce (void) |
Announce the availability of a packet. More... | |
void | _MPCI_Internal_packets_Send_process_packet (MPCI_Internal_Remote_operations operation) |
Perform a process on another node. More... | |
void | _MPCI_Internal_packets_Process_packet (MP_packet_Prefix *the_packet_prefix) |
_MPCI_Internal_packets_Send_request_packet More... | |
MPCI_Internal_packet * | _MPCI_Internal_packets_Get_packet (void) |
_MPCI_Internal_packets_Send_object_was_deleted More... | |
RTEMS_INLINE_ROUTINE bool | _Mp_packet_Is_valid_packet_class (MP_packet_Classes the_packet_class) |
This function returns true if the the_packet_class is valid, and false otherwise. More... | |
Variables | |
SCORE_EXTERN Thread_queue_Control | _MPCI_Remote_blocked_threads |
The following thread queue is used to maintain a list of tasks which currently have outstanding remote requests. | |
SCORE_EXTERN MPCI_Control * | _MPCI_table |
The following define the internal pointers to the user's configuration information. | |
SCORE_EXTERN Thread_Control * | _MPCI_Receive_server_tcb |
Pointer to MP thread control block. More... | |
SCORE_EXTERN MPCI_Packet_processor | _MPCI_Packet_processors [MP_PACKET_CLASSES_LAST+1] |
The following table contains the process packet routines provided by each object that supports MP operations. | |
MPCI Layer Implementation.