RTEMS: cpukit/include/rtems/score/mpci.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
mpci.h
Go to the documentation of this file.
1
9/*
10 * COPYRIGHT (c) 1989-2009.
11 * On-Line Applications Research Corporation (OAR).
12 *
13 * The license and distribution terms for this file may be
14 * found in the file LICENSE in this distribution or at
15 * http://www.rtems.org/license/LICENSE.
16 */
17
18#ifndef _RTEMS_SCORE_MPCI_H
19#define _RTEMS_SCORE_MPCI_H
20
21#include <rtems/score/mppkt.h>
22#include <rtems/score/thread.h>
23#include <rtems/score/threadq.h>
24#include <rtems/score/watchdog.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
49#define MPCI_ALL_NODES 0
50
54 typedef void MPCI_Entry;
55
60 typedef MPCI_Entry ( *MPCI_initialization_entry )( void );
61
67 typedef MPCI_Entry ( *MPCI_get_packet_entry )(
68 MP_packet_Prefix **
69 );
70
77 typedef MPCI_Entry ( *MPCI_return_packet_entry )(
78 MP_packet_Prefix *
79 );
80
87 typedef MPCI_Entry ( *MPCI_send_entry )(
88 uint32_t,
89 MP_packet_Prefix *
90 );
91
99 typedef MPCI_Entry ( *MPCI_receive_entry )(
100 MP_packet_Prefix **
101 );
102
111 typedef struct {
113 uint32_t default_timeout;
118 size_t maximum_packet_size;
120 MPCI_initialization_entry initialization;
122 MPCI_get_packet_entry get_packet;
124 MPCI_return_packet_entry return_packet;
126 MPCI_send_entry send_packet;
128 MPCI_receive_entry receive_packet;
129} MPCI_Control;
130
131/*
132 * The following records define the Multiprocessor Configuration
133 * Table. This table defines the multiprocessor system
134 * characteristics which must be known by RTEMS in a multiprocessor
135 * system.
136 */
137 typedef struct {
139 uint32_t node;
141 uint32_t maximum_nodes;
143 uint32_t maximum_global_objects;
145 uint32_t maximum_proxies;
146
152 uint32_t extra_mpci_receive_server_stack;
153
155 MPCI_Control *User_mpci_table;
156} MPCI_Configuration;
157
163extern const MPCI_Configuration _MPCI_Configuration;
164
170extern char _MPCI_Receive_server_stack[];
171
174#ifdef __cplusplus
175}
176#endif
177
178#endif
179/* end of include file */
watchdog.h
Constants and Structures Associated with Watchdog Timers.
MPCI_Entry
void MPCI_Entry
Definition: mpci.h:54
_MPCI_Receive_server_stack
char _MPCI_Receive_server_stack[]
The MPCI receive server stack.
_MPCI_Configuration
const MPCI_Configuration _MPCI_Configuration
The MPCI configuration.
Definition: mpcidefault.c:32
MPCI_get_packet_entry
MPCI_Entry(* MPCI_get_packet_entry)(MP_packet_Prefix **)
Definition: mpci.h:67
MPCI_return_packet_entry
MPCI_Entry(* MPCI_return_packet_entry)(MP_packet_Prefix *)
Definition: mpci.h:77
MPCI_send_entry
MPCI_Entry(* MPCI_send_entry)(uint32_t, MP_packet_Prefix *)
Definition: mpci.h:87
MPCI_receive_entry
MPCI_Entry(* MPCI_receive_entry)(MP_packet_Prefix **)
Definition: mpci.h:99
MPCI_initialization_entry
MPCI_Entry(* MPCI_initialization_entry)(void)
Definition: mpci.h:60
mppkt.h
Specification for the Packet Handler.
thread.h
Constants and Structures Related with the Thread Control Block.
MPCI_Configuration
Definition: mpci.h:137
MPCI_Configuration::node
uint32_t node
Definition: mpci.h:139
MPCI_Configuration::User_mpci_table
MPCI_Control * User_mpci_table
Definition: mpci.h:155
MPCI_Configuration::extra_mpci_receive_server_stack
uint32_t extra_mpci_receive_server_stack
Definition: mpci.h:152
MPCI_Configuration::maximum_proxies
uint32_t maximum_proxies
Definition: mpci.h:145
MPCI_Configuration::maximum_nodes
uint32_t maximum_nodes
Definition: mpci.h:141
MPCI_Configuration::maximum_global_objects
uint32_t maximum_global_objects
Definition: mpci.h:143
MPCI_Control
Definition: mpci.h:111
MPCI_Control::return_packet
MPCI_return_packet_entry return_packet
Definition: mpci.h:124
MPCI_Control::default_timeout
uint32_t default_timeout
Definition: mpci.h:113
MPCI_Control::receive_packet
MPCI_receive_entry receive_packet
Definition: mpci.h:128
MPCI_Control::initialization
MPCI_initialization_entry initialization
Definition: mpci.h:120
MPCI_Control::maximum_packet_size
size_t maximum_packet_size
Definition: mpci.h:118
MPCI_Control::send_packet
MPCI_send_entry send_packet
Definition: mpci.h:126
MPCI_Control::get_packet
MPCI_get_packet_entry get_packet
Definition: mpci.h:122
MP_packet_Prefix
Definition: mppkt.h:85
threadq.h
Constants and Structures Needed to Declare a Thread Queue.