RTEMS CPU Kit with SuperCore  4.11.3
Functions

Multiprocessing Support for the Message Queue Manager. More...

#include <rtems/rtems/messageimpl.h>
#include <rtems/rtems/optionsimpl.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/statesimpl.h>
#include <rtems/score/threadimpl.h>
Include dependency graph for msgmp.c:

Functions

 RTEMS_STATIC_ASSERT (MESSAGE_QUEUE_MP_PACKET_SIZE<=MP_PACKET_MINIMUM_PACKET_SIZE, Message_queue_MP_Packet)
 
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)
 _Message_queue_MP_Send_process_packet More...
 
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)
 _Message_queue_MP_Send_request_packet More...
 
void _Message_queue_MP_Send_response_packet (Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, Thread_Control *the_thread)
 _Message_queue_MP_Send_response_packet More...
 
void _Message_queue_MP_Process_packet (rtems_packet_prefix *the_packet_prefix)
 _Message_queue_MP_Process_packet More...
 
void _Message_queue_MP_Send_object_was_deleted (Thread_Control *the_proxy)
 _Message_queue_MP_Send_object_was_deleted More...
 
void _Message_queue_MP_Send_extract_proxy (void *argument)
 _Message_queue_MP_Send_extract_proxy More...
 
Message_queue_MP_Packet_Message_queue_MP_Get_packet (void)
 _Message_queue_MP_Get_packet More...
 
void _Message_queue_Core_message_queue_mp_support (Thread_Control *the_thread, Objects_Id id)
 Message_queue_Core_message_queue_mp_support. More...
 

Detailed Description

Multiprocessing Support for the Message Queue Manager.

Function Documentation

◆ _Message_queue_Core_message_queue_mp_support()

void _Message_queue_Core_message_queue_mp_support ( Thread_Control the_thread,
rtems_id  id 
)

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

References _Message_queue_MP_Send_response_packet(), and RTEMS_SUCCESSFUL.

◆ _Message_queue_MP_Get_packet()

Message_queue_MP_Packet* _Message_queue_MP_Get_packet ( void  )

_Message_queue_MP_Get_packet

This function is used to obtain a message queue mp packet.

References _MPCI_Get_packet().

◆ _Message_queue_MP_Process_packet()

void _Message_queue_MP_Process_packet ( rtems_packet_prefix *  the_packet_prefix)

_Message_queue_MP_Process_packet

This routine performs the actions specific to this package for the request from another node.

◆ _Message_queue_MP_Send_extract_proxy()

void _Message_queue_MP_Send_extract_proxy ( void *  argument)

_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.

References _Message_queue_MP_Send_process_packet().

◆ _Message_queue_MP_Send_object_was_deleted()

void _Message_queue_MP_Send_object_was_deleted ( Thread_Control the_proxy)

_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.

References _Message_queue_MP_Send_response_packet(), and RTEMS_OBJECT_WAS_DELETED.

◆ _Message_queue_MP_Send_process_packet()

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 
)

_Message_queue_MP_Send_process_packet

This routine performs a remote procedure call so that a process operation can be performed on another node.

Referenced by _Message_queue_MP_Send_extract_proxy().

◆ _Message_queue_MP_Send_request_packet()

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 
)

_Message_queue_MP_Send_request_packet

This routine performs a remote procedure call so that a directive operation can be initiated on another node.

◆ _Message_queue_MP_Send_response_packet()

void _Message_queue_MP_Send_response_packet ( Message_queue_MP_Remote_operations  operation,
Objects_Id  message_queue_id,
Thread_Control the_thread 
)

_Message_queue_MP_Send_response_packet

This routine performs a remote procedure call so that a directive can be performed on another node.

Referenced by _Message_queue_Core_message_queue_mp_support(), and _Message_queue_MP_Send_object_was_deleted().