RTEMS Logo

RTEMS 4.7.1 On-Line Library


Configuring a System Multiprocessor Communications Interface Table

PREV UP NEXT Bookshelf RTEMS Ada User's Guide

22.11: Multiprocessor Communications Interface Table

This table defines the set of callouts that must be provided by an Multiprocessor Communications Interface implementation.

When using the confdefs.h mechanism for configuring an RTEMS application, the name of this table is assumed to be MPCI_table unless the application sets the CONFIGURE_MP_MPCI_TABLE_POINTER when configuring a multiprocessing system.

The format of this table is defined in the following Ada record:

type MPCI_Table is
   record
      Default_Timeout     : RTEMS.Unsigned32; -- in ticks
      Maximum_Packet_Size : RTEMS.Unsigned32;
      Initialization      : RTEMS.MPCI_Initialization_Entry;
      Get_Packet          : RTEMS.MPCI_Get_Packet_Entry;
      Return_Packet       : RTEMS.MPCI_Return_Packet_Entry;
      Send                : RTEMS.MPCI_Send_Entry;
      Receive             : RTEMS.MPCI_Receive_Entry;
   end record;

type MPCI_Table_Pointer is access all MPCI_Table;
default_timeout
is the default maximum length of time a task should block waiting for a response to a directive which results in communication with a remote node. The maximum length of time is a function the user supplied multiprocessor communications layer and the media used. This timeout only applies to directives which would not block if the operation were performed locally.
maximum_packet_size
is the size in bytes of the longest packet which the MPCI layer is capable of sending. This value should represent the total number of bytes available for a RTEMS interprocessor messages.
initialization
is the address of the entry point for the initialization procedure of the user supplied multiprocessor communications layer.
get_packet
is the address of the entry point for the procedure called by RTEMS to obtain a packet from the user supplied multiprocessor communications layer.
return_packet
is the address of the entry point for the procedure called by RTEMS to return a packet to the user supplied multiprocessor communications layer.
send
is the address of the entry point for the procedure called by RTEMS to send an envelope to another node. This procedure is part of the user supplied multiprocessor communications layer.
receive
is the address of the entry point for the procedure called by RTEMS to retrieve an envelope containing a message from another node. This procedure is part of the user supplied multiprocessor communications layer.

More information regarding the required functionality of these entry points is provided in the Multiprocessor chapter.


PREV UP NEXT Bookshelf RTEMS Ada User's Guide

Copyright © 1988-2004 OAR Corporation