source: rtems/c/src/exec/sapi/headers/confdefs.h @ b25d3d03

4.104.114.84.95
Last change on this file since b25d3d03 was bd9c3d1, checked in by Joel Sherrill <joel.sherrill@…>, on 04/15/98 at 20:50:31

Numerous changes which in total greatly reduced the amount of source
code in each BSP's bspstart.c. These changes were:

+ confdefs.h now knows libio's semaphore requirements
+ shared/main.c now copies Configuration to BSP_Configuration
+ shared/main.c fills in the Cpu_table with default values

This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP. Plus now the maximum number of open
files can now be set on the gcc command line.

  • Property mode set to 100644
File size: 16.0 KB
Line 
1/*  confdefs.h
2 *
3 *  This include file contains the configuration table template that will
4 *  be used by the single processor tests to define its default configuration
5 *  parameters.
6 *
7 *  COPYRIGHT (c) 1989-1998.
8 *  On-Line Applications Research Corporation (OAR).
9 *  Copyright assigned to U.S. Government, 1994.
10 *
11 *  The license and distribution terms for this file may be
12 *  found in the file LICENSE in this distribution or at
13 *  http://www.OARcorp.com/rtems/license.html.
14 *
15 *  $Id$
16 */
17
18#ifndef __CONFIGURATION_TEMPLATE_h
19#define __CONFIGURATION_TEMPLATE_h
20 
21#ifdef __cplusplus
22extern "C" {
23#endif
24 
25extern rtems_initialization_tasks_table Initialization_tasks[];
26extern rtems_driver_address_table       Device_drivers[];
27extern rtems_configuration_table        Configuration;
28extern rtems_multiprocessing_table      Multiprocessing_configuration;
29#ifdef RTEMS_POSIX_API
30extern posix_api_configuration_table    Configuration_POSIX_API;
31#endif
32
33/*
34 *  RTEMS C Library and Newlib support
35 *
36 *  NOTE:  This ends up defining these even when newlib is not used.
37 */
38
39#define CONFIGURE_NEWLIB_EXTENSION 1
40#define CONFIGURE_MALLOC_REGION 1
41
42#ifndef CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
43#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 20
44#endif
45
46#define CONFIGURE_LIBIO_SEMAPHORES \
47  (CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS + 1)
48
49/*
50 *  Stack Checker Requirements
51 */
52
53#ifdef STACK_CHECKER_ON
54#define CONFIGURE_STACK_CHECKER_EXTENSION 1
55#else
56#define CONFIGURE_STACK_CHECKER_EXTENSION 0
57#endif
58
59/*
60 *  Interrupt Stack Space
61 */
62
63#if (CPU_ALLOCATE_INTERRUPT_STACK)
64#define CONFIGURE_INTERRUPT_STACK_MEMORY RTEMS_MINIMUM_STACK_SIZE
65#else
66#define CONFIGURE_INTERRUPT_STACK_MEMORY 0
67#endif
68
69/*
70 *  Default User Initialization Task Table.  This table guarantees that
71 *  one user initialization table is defined.
72 */
73
74#ifdef CONFIGURE_RTEMS_INIT_TASKS_TABLE
75
76#ifdef CONFIGURE_HAS_OWN_INIT_TASK_TABLE
77
78/*
79 *  The user is defining their own table information and setting the
80 *  appropriate variables.
81 */
82
83#else
84
85#ifndef CONFIGURE_INIT_TASK_NAME
86#define CONFIGURE_INIT_TASK_NAME          rtems_build_name( 'U', 'I', '1', ' ' )
87#endif
88
89#ifndef CONFIGURE_INIT_TASK_STACK_SIZE
90#define CONFIGURE_INIT_TASK_STACK_SIZE    RTEMS_MINIMUM_STACK_SIZE
91#endif
92
93#ifndef CONFIGURE_INIT_TASK_PRIORITY
94#define CONFIGURE_INIT_TASK_PRIORITY      1
95#endif
96
97#ifndef CONFIGURE_INIT_TASK_ATTRIBUTES
98#define CONFIGURE_INIT_TASK_ATTRIBUTES    RTEMS_DEFAULT_ATTRIBUTES
99#endif
100
101#ifndef CONFIGURE_INIT_TASK_ENTRY_POINT
102#define CONFIGURE_INIT_TASK_ENTRY_POINT   Init
103#endif
104
105#ifndef CONFIGURE_INIT_TASK_INITIAL_MODES
106#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_NO_PREEMPT
107#endif
108
109#ifndef CONFIGURE_INIT_TASK_ARGUMENTS
110#define CONFIGURE_INIT_TASK_ARGUMENTS     0
111#endif
112
113#ifdef CONFIGURE_INIT
114rtems_initialization_tasks_table Initialization_tasks[] = {
115  { CONFIGURE_INIT_TASK_NAME,
116    CONFIGURE_INIT_TASK_STACK_SIZE,
117    CONFIGURE_INIT_TASK_PRIORITY,
118    CONFIGURE_INIT_TASK_ATTRIBUTES,
119    CONFIGURE_INIT_TASK_ENTRY_POINT,
120    CONFIGURE_INIT_TASK_INITIAL_MODES,
121    CONFIGURE_INIT_TASK_ARGUMENTS
122  }
123};
124#endif
125
126#define CONFIGURE_INIT_TASK_TABLE Initialization_tasks
127
128#define CONFIGURE_INIT_TASK_TABLE_SIZE \
129  sizeof(CONFIGURE_INIT_TASK_TABLE) / sizeof(rtems_initialization_tasks_table)
130
131#endif    /* CONFIGURE_HAS_OWN_INIT_TASK_TABLE */
132
133#else     /* CONFIGURE_RTEMS_INIT_TASKS_TABLE */
134
135#define CONFIGURE_INIT_TASK_TABLE      NULL
136#define CONFIGURE_INIT_TASK_TABLE_SIZE 0
137
138#endif
139
140/*
141 *  Default Device Driver Table.  Each driver needed by the test is explicitly
142 *  choosen by that test.  There is always a null driver entry.
143 */
144
145#define NULL_DRIVER_TABLE_ENTRY \
146 { NULL, NULL, NULL, NULL, NULL, NULL }
147
148#ifdef CONFIGURE_TEST_NEEDS_TIMER_DRIVER
149#include <timerdrv.h>
150#endif
151
152#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER
153#include <stubdrv.h>
154#endif
155
156#ifndef CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
157
158#ifdef CONFIGURE_INIT
159rtems_driver_address_table Device_drivers[] = {
160#ifdef CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
161  CONSOLE_DRIVER_TABLE_ENTRY,
162#endif
163#ifdef CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
164  CLOCK_DRIVER_TABLE_ENTRY,
165#endif
166#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER
167  STUB_DRIVER_TABLE_ENTRY,
168#endif
169  NULL_DRIVER_TABLE_ENTRY
170};
171#endif
172
173#endif  /* CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE */
174
175/*
176 *  Default the number of devices per device driver.  This value may be
177 *  overridden by the user.
178 */
179
180#ifndef CONFIGURE_HAS_OWN_NUMBER_OF_DEVICES
181
182#ifndef CONFIGURE_MAXIMUM_DEVICES
183#define CONFIGURE_MAXIMUM_DEVICES   20
184#endif
185
186#endif /* CONFIGURE_HAS_OWN_NUMBER_OF_DEVICES */
187
188/*
189 *  Default Configuration Table.  This table contains the most values set in
190 *  the RTEMS Test Suite.  Each value may be overridden within each test to
191 *  customize the environment.
192 */
193
194#ifdef CONFIGURE_MPTEST
195#ifndef CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE
196
197#ifndef CONFIGURE_MP_NODE_NUMBER
198#define CONFIGURE_MP_NODE_NUMBER                NODE_NUMBER
199#endif
200
201#ifndef CONFIGURE_MP_MAXIMUM_NODES
202#define CONFIGURE_MP_MAXIMUM_NODES              2
203#endif
204
205#ifndef CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
206#define CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS     32
207#endif
208
209#ifndef CONFIGURE_MP_MAXIMUM_PROXIES
210#define CONFIGURE_MP_MAXIMUM_PROXIES            32
211#endif
212
213#ifndef CONFIGURE_MP_MPCI_TABLE_POINTER
214#include <mpci.h>
215#define CONFIGURE_MP_MPCI_TABLE_POINTER         &MPCI_table
216#endif
217
218#ifdef CONFIGURE_INIT
219rtems_multiprocessing_table Multiprocessing_configuration = {
220  CONFIGURE_MP_NODE_NUMBER,              /* local node number */
221  CONFIGURE_MP_MAXIMUM_NODES,            /* maximum # nodes in system */
222  CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS,   /* maximum # global objects */
223  CONFIGURE_MP_MAXIMUM_PROXIES,          /* maximum # proxies */
224  CONFIGURE_MP_MPCI_TABLE_POINTER        /* pointer to MPCI config table */
225};
226#endif
227
228#define CONFIGURE_MULTIPROCESSING_TABLE    &Multiprocessing_configuration
229
230#endif /* CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE */
231
232#else
233
234#define CONFIGURE_MULTIPROCESSING_TABLE    NULL
235
236#endif /* CONFIGURE_MPTEST */
237 
238/*
239 *  Default Configuration Table.  This table contains the most values set in
240 *  the RTEMS Test Suite.  Each value may be overridden within each test to
241 *  customize the environment.
242 */
243
244#ifndef CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
245 
246#ifndef CONFIGURE_EXECUTIVE_RAM_WORK_AREA
247#define CONFIGURE_EXECUTIVE_RAM_WORK_AREA     NULL
248#endif
249
250#ifndef CONFIGURE_MAXIMUM_TASKS
251#define CONFIGURE_MAXIMUM_TASKS               10
252#endif
253
254#ifndef CONFIGURE_MAXIMUM_TIMERS
255#define CONFIGURE_MAXIMUM_TIMERS              0
256#endif
257
258#ifndef CONFIGURE_MAXIMUM_SEMAPHORES
259#define CONFIGURE_MAXIMUM_SEMAPHORES          0
260#endif
261
262#ifndef CONFIGURE_MAXIMUM_MESSAGE_QUEUES
263#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES      0
264#endif
265
266#ifndef CONFIGURE_MAXIMUM_PARTITIONS
267#define CONFIGURE_MAXIMUM_PARTITIONS          0
268#endif
269
270#ifndef CONFIGURE_MAXIMUM_REGIONS
271#define CONFIGURE_MAXIMUM_REGIONS             0
272#endif
273
274#ifndef CONFIGURE_MAXIMUM_PORTS
275#define CONFIGURE_MAXIMUM_PORTS               0
276#endif
277
278#ifndef CONFIGURE_MAXIMUM_PERIODS
279#define CONFIGURE_MAXIMUM_PERIODS             0
280#endif
281
282#ifndef CONFIGURE_MAXIMUM_USER_EXTENSIONS
283#define CONFIGURE_MAXIMUM_USER_EXTENSIONS     0
284#endif
285
286#ifndef CONFIGURE_MICROSECONDS_PER_TICK
287#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(10)
288#endif
289
290#ifndef CONFIGURE_TICKS_PER_TIMESLICE
291#define CONFIGURE_TICKS_PER_TIMESLICE        50
292#endif
293
294/*
295 *  Initial Extension Set
296 */
297
298#ifdef CONFIGURE_INIT
299#ifdef STACK_CHECKER_ON
300#include <stackchk.h>
301#endif
302
303rtems_extensions_table Configuration_Initial_Extensions[] = {
304#ifdef CONFIGURE_INITIAL_EXTENSIONS
305    CONFIGURE_INITIAL_EXTENSIONS,
306#endif
307#ifdef STACK_CHECKER_ON
308    STACK_CHECKER_EXTENSION,
309#endif
310    { NULL, NULL, NULL, NULL, NULL, NULL, NULL }
311};
312
313#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS \
314  ((sizeof(Configuration_Initial_Extensions) / \
315    sizeof(rtems_extensions_table)) - 1)
316
317#endif
318
319/*
320 *  POSIX API Configuration Parameters
321 */
322
323#ifdef RTEMS_POSIX_API
324
325#ifndef CONFIGURE_MAXIMUM_POSIX_THREADS
326#define CONFIGURE_MAXIMUM_POSIX_THREADS      10
327#endif
328
329#ifndef CONFIGURE_MAXIMUM_POSIX_MUTEXES
330#define CONFIGURE_MAXIMUM_POSIX_MUTEXES      0
331#endif
332
333#ifndef CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
334#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES  0
335#endif
336
337#ifndef CONFIGURE_MAXIMUM_POSIX_KEYS
338#define CONFIGURE_MAXIMUM_POSIX_KEYS         0
339#endif
340
341#ifndef CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
342#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 0
343#endif
344
345#ifdef CONFIGURE_POSIX_INIT_THREAD_TABLE
346
347#ifdef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
348
349/*
350 *  The user is defining their own table information and setting the
351 *  appropriate variables.
352 */
353 
354#else
355
356#ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
357#define CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT   POSIX_Init
358#endif
359
360#ifdef CONFIGURE_INIT
361posix_initialization_threads_table POSIX_Initialization_threads[] = {
362  { CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT }
363};
364#endif
365
366#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME POSIX_Initialization_threads
367 
368#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE \
369  sizeof(CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME) / \
370      sizeof(posix_initialization_threads_table)
371
372#endif    /* CONFIGURE_POSIX_HAS_OWN_INIT_TASK_TABLE */
373
374#else     /* CONFIGURE_POSIX_INIT_THREAD_TABLE */
375
376#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME NULL
377#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE 0
378
379#endif
380
381#endif    /* RTEMS_POSIX_API */
382
383/*
384 *  Calculate the RAM size based on the maximum number of objects configured.
385 *  The model is to estimate the memory required for each configured item,
386 *  sum the memory requirements and insure that there is at least 32K greater
387 *  than that for things not directly addressed such as:
388 *
389 *    + stacks greater than minimum size
390 *    + FP contexts
391 *    + API areas (should be optional)
392 *    + messages
393 *    + object name and local pointer table overhead
394 *    + per node memory requirements
395 *    + executive fixed requirements (including at least internal threads
396 *       and the Ready chains)
397 *
398 *  NOTE:  Eventually this should take into account some of the above.
399 *         Basically, this is a "back of the envelope" estimate for
400 *         memory requirements.  It could be more accurate.
401 */
402
403#ifndef CONFIGURE_EXECUTIVE_RAM_SIZE
404
405#define CONFIGURE_OBJECT_TABLE_STUFF \
406  ( sizeof(Objects_Control *) + sizeof(rtems_name *) + sizeof(rtems_name) )
407
408#define CONFIGURE_MEMORY_FOR_TASKS(_tasks) \
409  (((_tasks) + 1 ) * \
410   ((sizeof(Thread_Control) + CONTEXT_FP_SIZE + \
411      STACK_MINIMUM_SIZE + sizeof( RTEMS_API_Control ) + \
412      CONFIGURE_OBJECT_TABLE_STUFF)) \
413  )
414
415#define CONFIGURE_MEMORY_FOR_TIMERS(_timers) \
416  ((_timers) * ( sizeof(Timer_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
417
418#define CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) \
419  ((_semaphores) * \
420   ( sizeof(Semaphore_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
421
422#define CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(_queues) \
423  ( (_queues) * \
424    ( sizeof(Message_queue_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
425
426#define CONFIGURE_MEMORY_FOR_PARTITIONS(_partitions) \
427  ( (_partitions) * \
428    ( sizeof(Partition_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
429
430#define CONFIGURE_MEMORY_FOR_REGIONS(_regions) \
431  ( (_regions) * \
432    ( sizeof(Region_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
433
434#define CONFIGURE_MEMORY_FOR_PORTS(_ports) \
435  ( (_ports) * \
436    ( sizeof(Dual_ported_memory_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
437
438#define CONFIGURE_MEMORY_FOR_PERIODS(_periods) \
439  ( (_periods) * \
440    ( sizeof(Rate_monotonic_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
441
442#define CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(_extensions) \
443  ( (_extensions) * \
444    ( sizeof(Extension_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) )
445
446#define CONFIGURE_MEMORY_FOR_DEVICES(_devices) \
447  (((_devices) + 1) * ( sizeof(rtems_driver_name_t) ) )
448
449#ifdef CONFIGURE_MPTEST
450
451#ifndef CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE
452
453#define CONFIGURE_MEMORY_FOR_PROXIES(_proxies) \
454  ( ((_proxies) + 1) * ( sizeof(Thread_Proxy_control) )  )
455
456#define CONFIGURE_MEMORY_FOR_GLOBAL_OBJECTS(_global_objects) \
457  ((_global_objects)  * ( sizeof(Objects_MP_Control) )  )
458
459#define CONFIGURE_MEMORY_FOR_MP \
460  ( CONFIGURE_MEMORY_FOR_PROXIES(CONFIGURE_MP_MAXIMUM_PROXIES) + \
461    CONFIGURE_MEMORY_FOR_GLOBAL_OBJECTS(CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS) + \
462    CONFIGURE_MEMORY_FOR_TASKS(1) \
463  )
464
465#endif  /* CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE */
466
467#else
468
469#define CONFIGURE_MEMORY_FOR_MP  0
470
471#endif
472
473#ifndef CONFIGURE_MEMORY_OVERHEAD
474#define CONFIGURE_MEMORY_OVERHEAD 0
475#endif
476
477#define CONFIGURE_MEMORY_FOR_SYSTEM_OVEREHAD \
478  ( CONFIGURE_MEMORY_FOR_TASKS(1) +    /* IDLE */ \
479    (256 * 12) +                       /* Ready chains */ \
480    256        +                       /* name/ptr table overhead */ \
481    CONFIGURE_INTERRUPT_STACK_MEMORY   /* interrupt stack */ \
482  )
483
484#define CONFIGURE_EXECUTIVE_RAM_SIZE \
485(( CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_MAXIMUM_TASKS) + \
486   CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS) + \
487   CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_MAXIMUM_SEMAPHORES + \
488     CONFIGURE_LIBIO_SEMAPHORES) + \
489   CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES) + \
490   CONFIGURE_MEMORY_FOR_PARTITIONS(CONFIGURE_MAXIMUM_PARTITIONS) + \
491   CONFIGURE_MEMORY_FOR_REGIONS( \
492      CONFIGURE_MAXIMUM_REGIONS + CONFIGURE_MALLOC_REGION ) + \
493   CONFIGURE_MEMORY_FOR_PORTS(CONFIGURE_MAXIMUM_PORTS) + \
494   CONFIGURE_MEMORY_FOR_PERIODS(CONFIGURE_MAXIMUM_PERIODS) + \
495   CONFIGURE_MEMORY_FOR_USER_EXTENSIONS( \
496      CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION + \
497      CONFIGURE_STACK_CHECKER_EXTENSION ) + \
498   CONFIGURE_MEMORY_FOR_DEVICES(CONFIGURE_MAXIMUM_DEVICES) + \
499   CONFIGURE_MEMORY_FOR_MP + \
500   CONFIGURE_MEMORY_FOR_SYSTEM_OVEREHAD + \
501   (((CONFIGURE_MEMORY_OVERHEAD)+1) * 1024) \
502) & 0xfffffc00)
503#endif
504
505#ifdef CONFIGURE_GNAT_RTEMS
506#define CONFIGURE_GNAT_MUTEXES 10
507#define CONFIGURE_GNAT_KEYS    1
508
509/* 20 are required to run all tests in the ACVC */
510#ifndef CONFIGURE_MAXIMUM_ADA_TASKS
511#define CONFIGURE_MAXIMUM_ADA_TASKS  20
512#endif
513
514#else
515#define CONFIGURE_GNAT_MUTEXES           0
516#define CONFIGURE_GNAT_KEYS              0
517#define CONFIGURE_MAXIMUM_ADA_TASKS      0
518#define CONFIGURE_MAXIMUM_FAKE_ADA_TASKS 0
519#endif
520
521
522#ifdef CONFIGURE_INIT
523
524rtems_api_configuration_table Configuration_RTEMS_API = {
525  CONFIGURE_MAXIMUM_TASKS,
526  CONFIGURE_MAXIMUM_TIMERS,
527  CONFIGURE_MAXIMUM_SEMAPHORES,
528  CONFIGURE_MAXIMUM_MESSAGE_QUEUES,
529  CONFIGURE_MAXIMUM_PARTITIONS,
530  CONFIGURE_MAXIMUM_REGIONS + CONFIGURE_MALLOC_REGION,
531  CONFIGURE_MAXIMUM_PORTS,
532  CONFIGURE_MAXIMUM_PERIODS,
533  CONFIGURE_INIT_TASK_TABLE_SIZE,
534  CONFIGURE_INIT_TASK_TABLE
535};
536
537#ifdef RTEMS_POSIX_API
538posix_api_configuration_table Configuration_POSIX_API = {
539  CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS,
540  CONFIGURE_MAXIMUM_POSIX_MUTEXES + CONFIGURE_GNAT_MUTEXES +
541    CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS,
542  CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES +
543    CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS,
544  CONFIGURE_MAXIMUM_POSIX_KEYS + CONFIGURE_GNAT_KEYS,
545  CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS,
546  CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE,
547  CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME
548};
549#endif
550
551rtems_configuration_table Configuration = {
552  CONFIGURE_EXECUTIVE_RAM_WORK_AREA,
553  CONFIGURE_EXECUTIVE_RAM_SIZE,
554  CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION +
555      CONFIGURE_STACK_CHECKER_EXTENSION,
556  CONFIGURE_MICROSECONDS_PER_TICK,
557  CONFIGURE_TICKS_PER_TIMESLICE,
558  CONFIGURE_MAXIMUM_DEVICES,
559  sizeof (Device_drivers)/
560    sizeof(rtems_driver_address_table),      /* number of device drivers */
561  Device_drivers,                            /* pointer to driver table */
562  CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS,    /* number of initial extensions */
563  Configuration_Initial_Extensions,          /* pointer to initial extensions */
564  CONFIGURE_MULTIPROCESSING_TABLE,           /* pointer to MP config table */
565  &Configuration_RTEMS_API,                  /* pointer to RTEMS API config */
566#ifdef RTEMS_POSIX_API
567  &Configuration_POSIX_API                   /* pointer to POSIX API config */
568#else
569  NULL                                       /* pointer to POSIX API config */
570#endif
571};
572#endif
573
574#endif /* CONFIGURE_HAS_OWN_CONFIGURATION_TABLE */
575
576#ifdef __cplusplus
577}
578#endif
579 
580#endif
581/* end of include file */
Note: See TracBrowser for help on using the repository browser.