18 #ifndef _RTEMS_SCORE_MPCIIMPL_H 19 #define _RTEMS_SCORE_MPCIIMPL_H 22 #include <rtems/score/status.h> 40 #define MPCI_DEFAULT_TIMEOUT 0xFFFFFFFF 53 MPCI_PACKETS_SYSTEM_VERIFY = 0
149 uint32_t destination,
169 uint32_t destination,
184 uint32_t destination,
MPCI_Control * _MPCI_table
Definition: mpci.c:52
MP_packet_Prefix * _MPCI_Receive_packet(void)
Receives a packet.
Definition: mpci.c:279
void _MPCI_Announce(void)
Announces the availability of a packet.
Definition: mpci.c:366
void _MPCI_Receive_server(Thread_Entry_numeric_type ignored)
Receives and processes all packets.
Definition: mpci.c:316
void _MPCI_Internal_packets_Send_process_packet(MPCI_Internal_Remote_operations operation)
Performs a process on another node.
Definition: mpci.c:379
void _MPCI_Internal_packets_Process_packet(MP_packet_Prefix *the_packet_prefix)
Performs requested action from another node.
Definition: mpci.c:420
Thread_Control * _MPCI_Receive_server_tcb
Pointer to MP thread control block.
Definition: mpci.c:54
void(* MPCI_Packet_processor)(MP_packet_Prefix *)
Definition: mpciimpl.h:46
uint32_t maximum_global_objects
Definition: mpciimpl.h:72
Definition: threadq.h:552
Status_Control _MPCI_Send_request_packet(uint32_t destination, MP_packet_Prefix *the_packet, States_Control extra_state)
Sends a request packet.
Definition: mpci.c:219
CPU_Uint32ptr Thread_Entry_numeric_type
Type of the numeric argument of a thread entry function with at least one numeric argument.
Definition: thread.h:107
MP_packet_Classes
Definition: mppkt.h:56
void _MPCI_Register_packet_processor(MP_packet_Classes the_class, MPCI_Packet_processor the_packet_processor)
Registers the MPCI packet processor for the designated object class.
Definition: mpci.c:161
uint32_t States_Control
Definition: states.h:46
#define MP_PACKET_CLASSES_LAST
Definition: mppkt.h:75
void _MPCI_Send_response_packet(uint32_t destination, MP_packet_Prefix *the_packet)
Sends a response packet.
Definition: mpci.c:269
uint32_t maximum_nodes
Definition: mpciimpl.h:68
void _MPCI_Return_packet(MP_packet_Prefix *the_packet)
Deallocates a packet.
Definition: mpci.c:189
MPCI_Internal_Remote_operations operation
Definition: mpciimpl.h:64
Definition: mpciimpl.h:60
MP_packet_Prefix Prefix
Definition: mpciimpl.h:62
RTEMS_INLINE_ROUTINE bool _Mp_packet_Is_valid_packet_class(MP_packet_Classes the_packet_class)
Checks if the packet class is valid.
Definition: mpciimpl.h:320
MPCI_Internal_packet * _MPCI_Internal_packets_Get_packet(void)
Obtains an internal thread.
Definition: mpci.c:466
Thread_Control * _MPCI_Process_response(MP_packet_Prefix *the_packet)
Passes a packet to the thread.
Definition: mpci.c:288
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
void _MPCI_Send_process_packet(uint32_t destination, MP_packet_Prefix *the_packet)
Sends a process packet.
Definition: mpci.c:196
Thread_queue_Control _MPCI_Remote_blocked_threads
Definition: mpci.c:49
MPCI_Packet_processor _MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1]
Definition: mpci.c:56
MPCI_Internal_Remote_operations
Definition: mpciimpl.h:52
MP_packet_Prefix * _MPCI_Get_packet(void)
Obtains a packet by invoking the user provided MPCI get packet callout.
Definition: mpci.c:170