RTEMS CPU Kit with SuperCore  4.11.2
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
mpciimpl.h File Reference

MPCI Layer Implementation. More...

#include <rtems/score/mpci.h>
Include dependency graph for mpciimpl.h:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

MPCI Layer Implementation.