RTEMS 6.1-rc1
Macros | Functions
Multiprocessing Manager

The Multiprocessing Manager provides support for heterogeneous multiprocessing systems based on message passing in a network of multiprocessing nodes. More...

Macros

#define RTEMS_MINIMUN_HETERO_CONVERSION   MP_PACKET_MINIMUN_HETERO_CONVERSION
 This constant defines the count of uint32_t numbers in a packet which must be converted to native format in a heterogeneous system. More...
 
#define RTEMS_MINIMUM_PACKET_SIZE   MP_PACKET_MINIMUM_PACKET_SIZE
 This constant defines the minimum packet size which must be supported by the MPCI.
 

Functions

void rtems_multiprocessing_announce (void)
 Announces the arrival of a packet. More...
 

Detailed Description

The Multiprocessing Manager provides support for heterogeneous multiprocessing systems based on message passing in a network of multiprocessing nodes.

In multiprocessor real-time systems, new requirements, such as sharing data and global resources between processors, are introduced. This requires an efficient and reliable communications vehicle which allows all processors to communicate with each other as necessary. In addition, the ramifications of multiple processors affect each and every characteristic of a real-time system, almost always making them more complicated.

RTEMS addresses these issues by providing simple and flexible real-time multiprocessing capabilities. The executive easily lends itself to both tightly-coupled and loosely-coupled configurations of the target system hardware. In addition, RTEMS supports systems composed of both homogeneous and heterogeneous mixtures of processors and target boards.

A major design goal of the RTEMS executive was to transcend the physical boundaries of the target hardware configuration. This goal is achieved by presenting the application software with a logical view of the target system where the boundaries between processor nodes are transparent. As a result, the application developer may designate objects such as tasks, queues, events, signals, semaphores, and memory blocks as global objects. These global objects may then be accessed by any task regardless of the physical location of the object and the accessing task. RTEMS automatically determines that the object being accessed resides on another processor and performs the actions required to access the desired object. Simply stated, RTEMS allows the entire system, both hardware and software, to be viewed logically as a single system.

Macro Definition Documentation

◆ RTEMS_MINIMUN_HETERO_CONVERSION

#define RTEMS_MINIMUN_HETERO_CONVERSION   MP_PACKET_MINIMUN_HETERO_CONVERSION

This constant defines the count of uint32_t numbers in a packet which must be converted to native format in a heterogeneous system.

In packets longer than this value, some of the extra data may be a user message buffer which is not automatically endian swapped.

Function Documentation

◆ rtems_multiprocessing_announce()

void rtems_multiprocessing_announce ( void  )

Announces the arrival of a packet.

This directive informs RTEMS that a multiprocessing communications packet has arrived from another node. This directive is called by the user-provided MPCI, and is only used in multiprocessing configurations.

Notes

This directive is typically called from an ISR.

This directive does not generate activity on remote nodes.

Constraints

The following constraints apply to this directive:

  • The directive may be called from within interrupt context.
  • The directive may be called from within device driver initialization context.
  • The directive may be called from within task context.
  • The directive may unblock a task. This may cause the calling task to be preempted.