source: rtems/cpukit/sapi/include/rtems/init.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: 2.9 KB
Line 
1/*  init.h
2 *
3 *  This include file contains all the constants and structures associated
4 *  with the Initialization Manager.  This manager is responsible for
5 *  initializing RTEMS, creating and starting all configured initialization
6 *  tasks, invoking the initialization routine for each user-supplied device
7 *  driver, and initializing the optional multiprocessor layer.
8 *
9 *  This manager provides directives to:
10 *
11 *     + initialize the RTEMS executive
12 *     + shutdown the RTEMS executive
13 *
14 *
15 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
16 *  On-Line Applications Research Corporation (OAR).
17 *  All rights assigned to U.S. Government, 1994.
18 *
19 *  This material may be reproduced by or for the U.S. Government pursuant
20 *  to the copyright license under the clause at DFARS 252.227-7013.  This
21 *  notice must appear in all copies of this file and its derivatives.
22 *
23 *  $Id$
24 */
25
26#ifndef __RTEMS_INIT_h
27#define __RTEMS_INIT_h
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#include <rtems/rtems/types.h>
34#include <rtems/config.h>
35#include <rtems/rtems/intr.h>
36
37/*
38 *  The following defines the default Multiprocessing Configuration
39 *  Table.  This table is used in a single processor system.
40 */
41
42extern const rtems_multiprocessing_table
43  _Initialization_Default_multiprocessing_table;
44
45/*
46 *  rtems_initialize_executive
47 *
48 *  DESCRIPTION:
49 *
50 *  This routine implements the rtems_initialize_executive directive.  This
51 *  directive is invoked at system startup to initialize the RTEMS
52 *  multitasking environment.
53 */
54
55void rtems_initialize_executive(
56  rtems_configuration_table *configuration_table,
57  rtems_cpu_table           *cpu_table
58);
59
60/*
61 *  rtems_initialize_executive_early
62 *
63 *  DESCRIPTION:
64 *
65 *  This routine implements the early portion of rtems_initialize_executive
66 *  directive up to the pretasking hook. This directive is invoked at system
67 *  startup to initialize the RTEMS multitasking environment.
68 */
69
70rtems_interrupt_level rtems_initialize_executive_early(
71  rtems_configuration_table *configuration_table,
72  rtems_cpu_table           *cpu_table
73);
74
75/*
76 *  rtems_initialize_executive_late
77 *
78 *  DESCRIPTION:
79 *
80 *  This routine implements the early portion of rtems_initialize_executive
81 *  directive up to the pretasking hook. This directive is invoked at system
82 *  startup to initialize the RTEMS multitasking environment.
83 */
84
85void rtems_initialize_executive_late(
86  rtems_interrupt_level bsp_level
87);
88
89/*
90 *  rtems_shutdown_executive
91 *
92 *  DESCRIPTION:
93 *
94 *  This routine implements the rtems_shutdown_executive directive.  The
95 *  invocation of this directive results in the RTEMS environment being
96 *  shutdown and multitasking halted.  From the application's perspective,
97 *  invocation of this directive results in the rtems_initialize_executive
98 *  directive exitting to the startup code which invoked it.
99 */
100
101void rtems_shutdown_executive(
102  unsigned32 result
103);
104
105#ifdef __cplusplus
106}
107#endif
108
109#endif
110/* end of include file */
Note: See TracBrowser for help on using the repository browser.