source: rtems-docs/c-user/config/index.rst @ 088a1f8

5
Last change on this file since 088a1f8 was 088a1f8, checked in by Sebastian Huber <sebastian.huber@…>, on 03/09/20 at 07:56:56

c-user: Move "Multiprocessing Configuration"

Update #3836.

  • Property mode set to 100644
File size: 10.4 KB
Line 
1.. SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
4
5.. index:: configuring a system
6.. _Configuring a System:
7
8Configuring a System
9********************
10
11.. toctree::
12
13    intro
14    general
15    classic-api
16    classic-init-task
17    posix-api
18    posix-init-thread
19    task-stack-alloc
20    msg-queue-buffer
21    filesystem
22    bdbuf
23    bsp-related
24    idle-task
25    scheduler-general
26    scheduler-clustered
27    device-driver
28    mpci
29
30PCI Library Configuration
31=========================
32
33This section defines the system configuration parameters supported by
34``rtems/confdefs.h`` related to configuring the PCI Library for RTEMS.
35
36The PCI Library startup behaviour can be configured in four different ways
37depending on how ``CONFIGURE_PCI_CONFIG_LIB`` is defined:
38
39.. index:: PCI_LIB_AUTO
40
41``PCI_LIB_AUTO``
42  Used to enable the PCI auto configuration software. PCI will be automatically
43  probed, PCI buses enumerated, all devices and bridges will be initialized
44  using Plug & Play software routines. The PCI device tree will be populated
45  based on the PCI devices found in the system, PCI devices will be configured
46  by allocating address region resources automatically in PCI space according
47  to the BSP or host bridge driver set up.
48
49.. index:: PCI_LIB_READ
50
51``PCI_LIB_READ``
52  Used to enable the PCI read configuration software. The current PCI
53  configuration is read to create the RAM representation (the PCI device tree)
54  of the PCI devices present. PCI devices are assumed to already have been
55  initialized and PCI buses enumerated, it is therefore required that a BIOS or
56  a boot loader has set up configuration space prior to booting into RTEMS.
57
58.. index:: PCI_LIB_STATIC
59
60``PCI_LIB_STATIC``
61  Used to enable the PCI static configuration software. The user provides a PCI
62  tree with information how all PCI devices are to be configured at compile
63  time by linking in a custom ``struct pci_bus pci_hb`` tree. The static PCI
64  library will not probe PCI for devices, instead it will assume that all
65  devices defined by the user are present, it will enumerate the PCI buses and
66  configure all PCI devices in static configuration accordingly. Since probe
67  and allocation software is not needed the startup is faster, has smaller
68  footprint and does not require dynamic memory allocation.
69
70.. index:: PCI_LIB_PERIPHERAL
71
72``PCI_LIB_PERIPHERAL``
73  Used to enable the PCI peripheral configuration. It is similar to
74  ``PCI_LIB_STATIC``, but it will never write the configuration to the PCI
75  devices since PCI peripherals are not allowed to access PCI configuration
76  space.
77
78Note that selecting ``PCI_LIB_STATIC`` or ``PCI_LIB_PERIPHERAL`` but not
79defining ``pci_hb`` will reuslt in link errors. Note also that in these modes
80Plug & Play is not performed.
81
82Event Recording Configuration
83=============================
84
85.. index:: CONFIGURE_RECORD_EXTENSIONS_ENABLED
86
87.. _CONFIGURE_RECORD_EXTENSIONS_ENABLED:
88
89CONFIGURE_RECORD_EXTENSIONS_ENABLED
90-----------------------------------
91
92CONSTANT:
93    ``CONFIGURE_RECORD_EXTENSIONS_ENABLED``
94
95DATA TYPE:
96    Boolean feature macro.
97
98RANGE:
99    Defined or undefined.
100
101DEFAULT VALUE:
102    This is not defined by default.
103
104DESCRIPTION:
105    If defined and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
106    <CONFIGURE_RECORD_PER_PROCESSOR_ITEMS>` is also defined properly, then the
107    record extensions are enabled.
108
109NOTES:
110    The record extensions capture thread create, start, restart, delete,
111    switch, begin, exitted and terminate events.
112
113.. index:: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
114
115.. _CONFIGURE_RECORD_PER_PROCESSOR_ITEMS:
116
117CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
118------------------------------------
119
120CONSTANT:
121    ``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``
122
123DATA TYPE:
124    Unsigned integer (``unsigned int``).
125
126RANGE:
127    A power of two greater than or equal to 16.
128
129DEFAULT VALUE:
130    This is not defined by default.
131
132DESCRIPTION:
133    If defined, then a record item buffer of the specified item count is
134    statically allocated for each configured processor
135    (:ref:`CONFIGURE_MAXIMUM_PROCESSORS <CONFIGURE_MAXIMUM_PROCESSORS>`).
136
137NOTES:
138    None.
139
140.. _ConfigAda:
141
142Ada Configuration
143=================
144
145The GNU Ada runtime library (libgnarl) uses threads, mutexes, condition
146variables, and signals from the pthreads API.  It uses also thread-local storage
147for the Ada Task Control Block (ATCB).  From these resources only the threads
148need to be accounted for in the configuration.  You should include the Ada tasks
149in your setting of the :ref:`CONFIGURE_MAXIMUM_POSIX_THREADS` configuration
150option.
151
152Obsolete Configuration Options
153==============================
154
155.. index:: CONFIGURE_BDBUF_BUFFER_COUNT
156
157CONFIGURE_BDBUF_BUFFER_COUNT
158----------------------------
159
160This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
161RTEMS 4.10.0.
162
163.. index:: CONFIGURE_BDBUF_BUFFER_SIZE
164
165CONFIGURE_BDBUF_BUFFER_SIZE
166---------------------------
167
168This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
169RTEMS 4.10.0.
170
171.. index:: CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
172
173CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
174--------------------------------------
175
176This configuration option was introduced in RTEMS 4.9.0 and is obsolete since
177RTEMS 5.1.
178
179.. index:: CONFIGURE_ENABLE_GO
180
181CONFIGURE_ENABLE_GO
182-------------------
183
184This configuration option is obsolete since RTEMS 5.1.
185
186.. index:: CONFIGURE_GNAT_RTEMS
187
188CONFIGURE_GNAT_RTEMS
189--------------------
190
191This configuration option was present in all RTEMS versions since at 1997 and is
192obsolete since RTEMS 5.1.  See also :ref:`ConfigAda`.
193
194.. index:: CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
195
196CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
197-------------------------------------
198
199This configuration option is obsolete since RTEMS 5.1.
200
201.. index:: CONFIGURE_HAS_OWN_BDBUF_TABLE
202
203CONFIGURE_HAS_OWN_BDBUF_TABLE
204-----------------------------
205
206This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
207RTEMS 4.10.0.
208
209.. index:: CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
210
211CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
212-------------------------------------
213
214This configuration option was present in all RTEMS versions since at least 1995
215and is obsolete since RTEMS 5.1.
216
217.. index:: CONFIGURE_HAS_OWN_INIT_TASK_TABLE
218
219.. _CONFIGURE_HAS_OWN_INIT_TASK_TABLE:
220
221CONFIGURE_HAS_OWN_INIT_TASK_TABLE
222---------------------------------
223
224This configuration option was present in all RTEMS versions since at least 1995
225and is obsolete since RTEMS 5.1.  If you used this configuration option or you
226think that there should be a way to configure more than one Classic API
227initialization task, then please ask on the :r:list:`users`.
228
229.. index:: CONFIGURE_HAS_OWN_MOUNT_TABLE
230
231CONFIGURE_HAS_OWN_MOUNT_TABLE
232-----------------------------
233
234This configuration option is obsolete since RTEMS 5.1.
235
236.. index:: CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE
237
238CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE
239---------------------------------------
240
241This configuration option is obsolete since RTEMS 5.1.
242
243.. index:: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
244
245CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
246--------------------------------
247
248This configuration option was present in all RTEMS versions since at 1998 and is
249obsolete since RTEMS 5.1.  See also :ref:`CONFIGURE_MAXIMUM_FILE_DESCRIPTORS`.
250
251.. index:: CONFIGURE_MAXIMUM_ADA_TASKS
252
253CONFIGURE_MAXIMUM_ADA_TASKS
254---------------------------
255
256This configuration option was present in all RTEMS versions since at 1997 and is
257obsolete since RTEMS 5.1.  See also :ref:`ConfigAda`.
258
259.. index:: CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
260
261CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
262--------------------------------
263
264This configuration option was present in all RTEMS versions since at 1997 and is
265obsolete since RTEMS 5.1.  See also :ref:`ConfigAda`.
266
267.. index:: CONFIGURE_MAXIMUM_GO_CHANNELS
268
269CONFIGURE_MAXIMUM_GO_CHANNELS
270-----------------------------
271
272This configuration option is obsolete since RTEMS 5.1.
273
274.. index:: CONFIGURE_MAXIMUM_GOROUTINES
275
276CONFIGURE_MAXIMUM_GOROUTINES
277----------------------------
278
279This configuration option is obsolete since RTEMS 5.1.
280
281.. index:: CONFIGURE_MAXIMUM_MRSP_SEMAPHORES
282
283CONFIGURE_MAXIMUM_MRSP_SEMAPHORES
284---------------------------------
285
286This configuration option is obsolete since RTEMS 5.1.
287
288.. index:: CONFIGURE_NUMBER_OF_TERMIOS_PORTS
289
290CONFIGURE_NUMBER_OF_TERMIOS_PORTS
291---------------------------------
292
293This configuration option is obsolete since RTEMS 5.1.
294
295.. index:: CONFIGURE_MAXIMUM_POSIX_BARRIERS
296
297CONFIGURE_MAXIMUM_POSIX_BARRIERS
298--------------------------------
299
300This configuration option is obsolete since RTEMS 5.1.
301
302.. index:: CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
303
304CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
305-------------------------------------------
306
307This configuration option is obsolete since RTEMS 5.1.
308
309.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
310
311CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
312-------------------------------
313
314This configuration option was introduced in RTEMS 4.10.0 and is obsolete since
315RTEMS 5.1.
316
317.. index:: CONFIGURE_MAXIMUM_POSIX_MUTEXES
318
319CONFIGURE_MAXIMUM_POSIX_MUTEXES
320-------------------------------
321
322This configuration option is obsolete since RTEMS 5.1.
323
324.. index:: CONFIGURE_MAXIMUM_POSIX_RWLOCKS
325
326CONFIGURE_MAXIMUM_POSIX_RWLOCKS
327-------------------------------
328
329This configuration option is obsolete since RTEMS 5.1.
330
331.. index:: CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
332
333CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
334---------------------------------
335
336This configuration option is obsolete since RTEMS 5.1.
337
338.. index:: CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
339
340.. _CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE:
341
342CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
343-----------------------------------------
344
345This configuration option was present in all RTEMS versions since at least 1995
346and is obsolete since RTEMS 5.1.  If you used this configuration option or you
347think that there should be a way to configure more than one POSIX initialization
348thread, then please ask on the  :r:list:`users`.
349
350.. index:: CONFIGURE_SMP_APPLICATION
351
352CONFIGURE_SMP_APPLICATION
353-------------------------
354
355This configuration option was introduced in RTEMS 4.11.0 and is obsolete since
356RTEMS 5.1.
357
358.. index:: CONFIGURE_SMP_MAXIMUM_PROCESSORS
359
360CONFIGURE_SMP_MAXIMUM_PROCESSORS
361--------------------------------
362
363This configuration option was introduced in RTEMS 4.11.0 and is obsolete since
364RTEMS 5.1.  See also :ref:`CONFIGURE_MAXIMUM_PROCESSORS`.
365
366.. index:: CONFIGURE_TERMIOS_DISABLED
367
368CONFIGURE_TERMIOS_DISABLED
369--------------------------
370
371This configuration option is obsolete since RTEMS 5.1.
Note: See TracBrowser for help on using the repository browser.