source: rtems/c/src/exec/sapi/headers/config.h @ c64e4ed4

4.104.114.84.95
Last change on this file since c64e4ed4 was 5e9b32b, checked in by Joel Sherrill <joel.sherrill@…>, on 09/26/95 at 19:27:15

posix support initially added

  • Property mode set to 100644
File size: 3.2 KB
Line 
1/*  config.h
2 *
3 *  This include file contains the table of user defined configuration
4 *  parameters.
5 *
6 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
7 *  On-Line Applications Research Corporation (OAR).
8 *  All rights assigned to U.S. Government, 1994.
9 *
10 *  This material may be reproduced by or for the U.S. Government pursuant
11 *  to the copyright license under the clause at DFARS 252.227-7013.  This
12 *  notice must appear in all copies of this file and its derivatives.
13 *
14 *  $Id$
15 */
16
17#ifndef __RTEMS_CONFIGURATION_h
18#define __RTEMS_CONFIGURATION_h
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#include <rtems/rtems/status.h>
25#include <rtems/extension.h>
26#include <rtems/io.h>
27#include <rtems/score/mpci.h>
28#include <rtems/rtems/types.h>
29#include <rtems/rtems/tasks.h>
30
31/*
32 *  The following records define the Multiprocessor Configuration
33 *  Table.  This table defines the multiprocessor system
34 *  characteristics which must be known by RTEMS in a multiprocessor
35 *  system.
36 */
37
38typedef struct {
39  unsigned32    node;                   /* local node number */
40  unsigned32    maximum_nodes;          /* maximum # nodes in system */
41  unsigned32    maximum_global_objects; /* maximum # global objects */
42  unsigned32    maximum_proxies;        /* maximum # proxies */
43  MPCI_Control *User_mpci_table;        /* pointer to MPCI table */
44} rtems_multiprocessing_table;
45
46/*
47 *  The following records define the Configuration Table.  The
48 *  information contained in this table is required in all
49 *  RTEMS systems, whether single or multiprocessor.  This
50 *  table primarily defines the following:
51 *
52 *     + location and size of the RTEMS Workspace
53 *     + required number of each object type
54 *     + microseconds per clock tick
55 *     + clock ticks per task timeslice
56 */
57
58typedef struct {
59  void                             *work_space_start;
60  unsigned32                        work_space_size;
61  unsigned32                        maximum_tasks;
62  unsigned32                        maximum_timers;
63  unsigned32                        maximum_semaphores;
64  unsigned32                        maximum_message_queues;
65  unsigned32                        maximum_partitions;
66  unsigned32                        maximum_regions;
67  unsigned32                        maximum_ports;
68  unsigned32                        maximum_periods;
69  unsigned32                        maximum_extensions;
70  unsigned32                        microseconds_per_tick;
71  unsigned32                        ticks_per_timeslice;
72  unsigned32                        number_of_initialization_tasks;
73  rtems_initialization_tasks_table *User_initialization_tasks_table;
74  unsigned32                        number_of_device_drivers;
75  unsigned32                        maximum_devices;
76  rtems_driver_address_table       *Device_driver_table;
77  rtems_extensions_table           *User_extension_table;
78  rtems_multiprocessing_table      *User_multiprocessing_table;
79} rtems_configuration_table;
80
81/*
82 *  The following are provided strictly for the convenience of
83 *  the user.  They are not used in RTEMS itself.
84 */
85
86EXTERN rtems_configuration_table    *_Configuration_Table;
87EXTERN rtems_multiprocessing_table  *_Configuration_MP_table;
88
89#ifdef __cplusplus
90}
91#endif
92
93#endif
94/* end of include file */
Note: See TracBrowser for help on using the repository browser.