source: rtems/cpukit/sapi/include/rtems/config.h @ 3a4ae6c

4.104.114.84.95
Last change on this file since 3a4ae6c was 3a4ae6c, checked in by Joel Sherrill <joel.sherrill@…>, on Sep 11, 1995 at 7:35:39 PM

The word "RTEMS" almost completely removed from the core.

Configuration Table Template file added and all tests
modified to use this. All gvar.h and conftbl.h files
removed from test directories.

Configuration parameter maximum_devices added.

Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.

Initialization sequence changed to invoke API specific initialization
routines. Initialization tasks table now owned by RTEMS Tasks Manager.

Added user extension for post-switch.

Utilized user extensions to implement API specific functionality
like signal dispatching.

Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized. These are largely equivalent to the
pre-driver and post-driver hooks.

Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.

All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver. Also merged clock isr into
main file and removed ckisr.c where possible.

Updated spsize to reflect new and moved variables.

Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.

Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.

  • 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/core/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.