Configuring a System Multiprocessor Configuration Table
RTEMS C User's Guide
21.8: Multiprocessor Configuration Table
The Multiprocessor Configuration Table contains
information needed when using RTEMS in a multiprocessor
configuration. Many of the details associated with configuring
a multiprocessor system are dependent on the multiprocessor
communications layer provided by the user. The address of the
Multiprocessor Configuration Table should be placed in the
User_multiprocessing_table entry in the primary Configuration
Table. Further details regarding many of the entries in the
Multiprocessor Configuration Table will be provided in the
Multiprocessing chapter. The format of the Multiprocessor
Configuration Table is defined in
the following C structure:
is a unique processor identifier
and is used in routing messages between nodes in a
multiprocessor configuration. Each processor must have a unique
node number. RTEMS assumes that node numbers start at one and
increase sequentially. This assumption can be used to advantage
by the user-supplied MPCI layer. Typically, this requirement is
made when the node numbers are used to calculate the address of
inter-processor communication links. Zero should be avoided as
a node number because some MPCI layers use node zero to
represent broadcasted packets. Thus, it is recommended that
node numbers start at one and increase sequentially.
maximum_nodes
is the number of processor nodes in the system.
maximum_global_objects
is the maximum number of global objects which can exist at any
given moment in the entire system. If this parameter is not the
same on all nodes in the system, then a fatal error is generated
to inform the user that the system is inconsistent.
maximum_proxies
is the maximum number of proxies which can exist at any given moment
on this particular node. A proxy is a substitute task control block
which represent a task residing on a remote node when that task blocks
on a remote object. Proxies are used in situations in which delayed
interaction is required with a remote node.
User_mpci_table
is the address of the Multiprocessor Communications Interface
Table. This table contains the entry points of user-provided functions
which constitute the multiprocessor communications layer. This table
must be provided in multiprocessor configurations with all
entries configured. The format of this table and details
regarding its entries can be found in the next section.