source: rtems/c/src/exec/sapi/include/confdefs.h @ b6394ae

4.104.114.84.95
Last change on this file since b6394ae was 0451b44, checked in by Joel Sherrill <joel.sherrill@…>, on 04/15/98 at 00:02:10

Per suggestion from Eric Norum, went from one initial extension set
to multiple. This lets the stack check extension be installed
at system initialization time and avoids the BSP having to
even know about its existence.

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