summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-12-04 22:18:30 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-12-04 22:18:30 +0000
commit66c50e281a052374d1b7b2761a75f51d6d129be2 (patch)
tree7ac4d4169366fc55a554ae1891b647347b3eaa0d
parent2007-12-04 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-66c50e281a052374d1b7b2761a75f51d6d129be2.tar.bz2
2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>
* cpu_supplement/arm.t, cpu_supplement/i386.t, cpu_supplement/m68k.t, cpu_supplement/mips.t, cpu_supplement/powerpc.t, cpu_supplement/sh.t, cpu_supplement/sparc.t, cpu_supplement/tic4x.t, porting/cpuinit.t, user/conf.t, user/init.t: Move interrupt_stack_size field from CPU Table to Configuration Table. Eliminate CPU Table from all ports. Delete references to CPU Table in all forms.
-rw-r--r--doc/ChangeLog9
-rw-r--r--doc/cpu_supplement/arm.t42
-rw-r--r--doc/cpu_supplement/i386.t42
-rw-r--r--doc/cpu_supplement/m68k.t44
-rw-r--r--doc/cpu_supplement/mips.t44
-rw-r--r--doc/cpu_supplement/powerpc.t38
-rw-r--r--doc/cpu_supplement/sh.t44
-rw-r--r--doc/cpu_supplement/sparc.t41
-rw-r--r--doc/cpu_supplement/tic4x.t44
-rw-r--r--doc/porting/cpuinit.t98
-rw-r--r--doc/user/conf.t25
-rw-r--r--doc/user/init.t103
12 files changed, 39 insertions, 535 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index c8aa90775e..f1f225a2d4 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,12 @@
+2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ * cpu_supplement/arm.t, cpu_supplement/i386.t, cpu_supplement/m68k.t,
+ cpu_supplement/mips.t, cpu_supplement/powerpc.t, cpu_supplement/sh.t,
+ cpu_supplement/sparc.t, cpu_supplement/tic4x.t, porting/cpuinit.t,
+ user/conf.t, user/init.t: Move interrupt_stack_size field from CPU
+ Table to Configuration Table. Eliminate CPU Table from all ports.
+ Delete references to CPU Table in all forms.
+
2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* cpu_supplement/arm.t, cpu_supplement/i386.t, cpu_supplement/m68k.t,
diff --git a/doc/cpu_supplement/arm.t b/doc/cpu_supplement/arm.t
index 757b70fbf6..95fd5029e6 100644
--- a/doc/cpu_supplement/arm.t
+++ b/doc/cpu_supplement/arm.t
@@ -485,45 +485,3 @@ install an interrupt stack and -- for whatever reason -- an
interrupt occurs before initialize_executive is invoked, then
the results are unpredictable.
-@c
-@c COPYRIGHT (c) 1988-2002.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The XXX version of the RTEMS CPU Dependent
-Information Table contains the information required to interface
-a Board Support Package and RTEMS on the XXX. This
-information is provided to allow RTEMS to interoperate
-effectively with the BSP. The C structure definition is given
-here:
-
-@example
-@group
-typedef struct @{
- uint32_t interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end group
-@end example
-
-@table @code
-@item interrupt_stack_size
-is the size of the RTEMS
-allocated interrupt stack in bytes. This value must be at least
-as large as MINIMUM_STACK_SIZE.
-
-@end table
diff --git a/doc/cpu_supplement/i386.t b/doc/cpu_supplement/i386.t
index 3ca07b3405..81222a0f6e 100644
--- a/doc/cpu_supplement/i386.t
+++ b/doc/cpu_supplement/i386.t
@@ -574,45 +574,3 @@ requirements:
For more information regarding the i386s data structures and their
contents, refer to Intel's 386 Programmer's Reference Manual.
-@c
-@c COPYRIGHT (c) 1988-2002.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The i386 version of the RTEMS CPU Dependent
-Information Table contains the information required to interface
-a Board Support Package and RTEMS on the i386. This information
-is provided to allow RTEMS to interoperate effectively with the
-BSP. The C structure definition is given here:
-
-@example
-@group
-typedef struct @{
- uint32_t interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end group
-@end example
-
-@table @code
-
-@item interrupt_stack_size
-is the size of the RTEMS
-allocated interrupt stack in bytes. This value must be at least
-as large as MINIMUM_STACK_SIZE.
-
-@end table
diff --git a/doc/cpu_supplement/m68k.t b/doc/cpu_supplement/m68k.t
index c3c014dd1a..b39c3236b3 100644
--- a/doc/cpu_supplement/m68k.t
+++ b/doc/cpu_supplement/m68k.t
@@ -662,47 +662,3 @@ automatically as part of initialization. If the BSP does not
install an interrupt stack and -- for whatever reason -- an
interrupt occurs before initialize_executive is invoked, then
the results are unpredictable.
-
-@c
-@c COPYRIGHT (c) 1988-2002.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The MC68xxx version of the RTEMS CPU Dependent
-Information Table contains the information required to interface
-a Board Support Package and RTEMS on the MC68xxx. This
-information is provided to allow RTEMS to interoperate
-effectively with the BSP. The C structure definition is given
-here:
-
-@example
-@group
-typedef struct @{
- unsigned32 interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end group
-@end example
-
-@table @code
-
-@item interrupt_stack_size
-is the size of the RTEMS
-allocated interrupt stack in bytes. This value must be at least
-as large as MINIMUM_STACK_SIZE.
-
-@end table
diff --git a/doc/cpu_supplement/mips.t b/doc/cpu_supplement/mips.t
index 385acb592b..1d65981719 100644
--- a/doc/cpu_supplement/mips.t
+++ b/doc/cpu_supplement/mips.t
@@ -566,47 +566,3 @@ automatically as part of initialization. If the BSP does not
install an interrupt stack and -- for whatever reason -- an
interrupt occurs before initialize_executive is invoked, then
the results are unpredictable.
-
-@c
-@c COPYRIGHT (c) 1988-2002.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The XXX version of the RTEMS CPU Dependent
-Information Table contains the information required to interface
-a Board Support Package and RTEMS on the XXX. This
-information is provided to allow RTEMS to interoperate
-effectively with the BSP. The C structure definition is given
-here:
-
-@example
-@group
-typedef struct @{
- unsigned32 interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end group
-@end example
-
-@table @code
-
-@item interrupt_stack_size
-is the size of the RTEMS
-allocated interrupt stack in bytes. This value must be at least
-as large as MINIMUM_STACK_SIZE.
-
-@end table
diff --git a/doc/cpu_supplement/powerpc.t b/doc/cpu_supplement/powerpc.t
index d8073e3ccf..8b6604acb7 100644
--- a/doc/cpu_supplement/powerpc.t
+++ b/doc/cpu_supplement/powerpc.t
@@ -886,41 +886,3 @@ conditions can be properly handled.
handlers.
@end itemize
-
-@c
-@c COPYRIGHT (c) 1989-2007.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The PowerPC version of the RTEMS CPU Dependent
-Information Table is given by the C structure definition is
-shown below:
-
-@example
-typedef struct @{
- unsigned32 interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end example
-
-@table @code
-
-@item interrupt_stack_size
-is the size of the RTEMS allocated interrupt stack in bytes.
-This value must be at least as large as MINIMUM_STACK_SIZE.
-
-@end table
diff --git a/doc/cpu_supplement/sh.t b/doc/cpu_supplement/sh.t
index 252c44787c..42b9c24a63 100644
--- a/doc/cpu_supplement/sh.t
+++ b/doc/cpu_supplement/sh.t
@@ -574,47 +574,3 @@ automatically as part of initialization. If the BSP does not
install an interrupt stack and -- for whatever reason -- an
interrupt occurs before initialize_executive is invoked, then
the results are unpredictable.
-
-@c
-@c COPYRIGHT (c) 1988-2002.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The XXX version of the RTEMS CPU Dependent
-Information Table contains the information required to interface
-a Board Support Package and RTEMS on the XXX. This
-information is provided to allow RTEMS to interoperate
-effectively with the BSP. The C structure definition is given
-here:
-
-@example
-@group
-typedef struct @{
- unsigned32 interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end group
-@end example
-
-@table @code
-
-@item interrupt_stack_size
-is the size of the RTEMS
-allocated interrupt stack in bytes. This value must be at least
-as large as MINIMUM_STACK_SIZE.
-
-@end table
diff --git a/doc/cpu_supplement/sparc.t b/doc/cpu_supplement/sparc.t
index 844fa9933e..7cfb45ecc3 100644
--- a/doc/cpu_supplement/sparc.t
+++ b/doc/cpu_supplement/sparc.t
@@ -1023,44 +1023,3 @@ conditions can be properly handled.
least trap handlers for register window overflow and register
window underflow.
@end itemize
-
-@c
-@c COPYRIGHT (c) 1988-2002.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The SPARC version of the RTEMS CPU Dependent
-Information Table is given by the C structure definition is
-shown below:
-
-@example
-@group
-typedef struct @{
- unsigned32 interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end group
-@end example
-
-@table @code
-
-@item interrupt_stack_size
-is the size of the RTEMS allocated interrupt stack in bytes.
-This value must be at least as large as MINIMUM_STACK_SIZE.
-
-@end table
-
diff --git a/doc/cpu_supplement/tic4x.t b/doc/cpu_supplement/tic4x.t
index 98bdfa28c5..ad6cb22312 100644
--- a/doc/cpu_supplement/tic4x.t
+++ b/doc/cpu_supplement/tic4x.t
@@ -777,47 +777,3 @@ automatically as part of initialization. If the BSP does not
install an interrupt stack and -- for whatever reason -- an
interrupt occurs before initialize_executive is invoked, then
the results are unpredictable.
-
-@c
-@c COPYRIGHT (c) 1988-1999.
-@c On-Line Applications Research Corporation (OAR).
-@c All rights reserved.
-@c
-@c $Id$
-@c
-
-@section Processor Dependent Information Table
-
-
-Any highly processor dependent information required
-to describe a processor to RTEMS is provided in the CPU
-Dependent Information Table. This table is not required for all
-processors supported by RTEMS. This chapter describes the
-contents, if any, for a particular processor type.
-
-@subsection CPU Dependent Information Table
-
-The XXX version of the RTEMS CPU Dependent
-Information Table contains the information required to interface
-a Board Support Package and RTEMS on the XXX. This
-information is provided to allow RTEMS to interoperate
-effectively with the BSP. The C structure definition is given
-here:
-
-@example
-@group
-typedef struct @{
- unsigned32 interrupt_stack_size;
- /* end of fields required on all CPUs */
-@} rtems_cpu_table;
-@end group
-@end example
-
-@table @code
-
-@item interrupt_stack_size
-is the size of the RTEMS
-allocated interrupt stack in bytes. This value must be at least
-as large as MINIMUM_STACK_SIZE.
-
-@end table
diff --git a/doc/porting/cpuinit.t b/doc/porting/cpuinit.t
index 1fdf3e3712..d396be22a9 100644
--- a/doc/porting/cpuinit.t
+++ b/doc/porting/cpuinit.t
@@ -16,101 +16,12 @@ as it pertains to the CPU dependent code.
XXX general startup sequence description rewritten to make it more
applicable to CPU depdent code in executive
-@section CPU Dependent Configuration Table
-
-The CPU Dependent Configuration Table contains information which tailors
-the behavior of RTEMS base Some of the fields in this table are required
-to be present in all ports of RTEMS. These fields appear at the beginning
-of the data structure. Fields past this point may be CPU family and CPU
-model dependent. For example, a port may add a field to specify the
-default value for an interrupt mask register on the CPU. This table is
-initialized by the Board Support Package and passed to the
-rtems_initialize_executive or rtems_initialize_executive_early directive.
-
-@example
-typedef struct @{
- void (*pretasking_hook)( void );
- void (*predriver_hook)( void );
- void (*postdriver_hook)( void );
- void (*idle_task)( void );
- boolean do_zero_of_workspace;
- unsigned32 idle_task_stack_size;
- unsigned32 interrupt_stack_size;
- unsigned32 extra_mpci_receive_server_stack;
- void * (*stack_allocate_hook)( unsigned32 );
- void (*stack_free_hook)( void* );
- /* end of fields required on all CPUs */
-
- unsigned32 some_other_cpu_dependent_info;
-@} rtems_cpu_table;
-@end example
-
-@table @code
-@item pretasking_hook
-is the address of the user provided routine which is invoked
-once RTEMS APIs are initialized. This routine will be invoked
-before any system tasks are created. Interrupts are disabled.
-This field may be NULL to indicate that the hook is not utilized.
-
-@item predriver_hook
-is the address of the user provided
-routine that is invoked immediately before the
-the device drivers and MPCI are initialized. RTEMS
-initialization is complete but interrupts and tasking are disabled.
-This field may be NULL to indicate that the hook is not utilized.
-
-@item postdriver_hook
-is the address of the user provided
-routine that is invoked immediately after the
-the device drivers and MPCI are initialized. RTEMS
-initialization is complete but interrupts and tasking are disabled.
-This field may be NULL to indicate that the hook is not utilized.
-
-@item idle_task
-is the address of the optional user
-provided routine which is used as the system's IDLE task. If
-this field is not NULL, then the RTEMS default IDLE task is not
-used. This field may be NULL to indicate that the default IDLE
-is to be used.
-
-@item do_zero_of_workspace
-indicates whether RTEMS should
-zero the Workspace as part of its initialization. If set to
-TRUE, the Workspace is zeroed. Otherwise, it is not.
-
-@item idle_task_stack_size
-is the size of the RTEMS idle task stack in bytes.
-If this number is less than MINIMUM_STACK_SIZE, then the
-idle task's stack will be MINIMUM_STACK_SIZE in byte.
-
-@item interrupt_stack_size
-is the size of the RTEMS allocated interrupt stack in bytes.
-This value must be at least as large as MINIMUM_STACK_SIZE.
-
-@item extra_mpci_receive_server_stack
-is the extra stack space allocated for the RTEMS MPCI receive server task
-in bytes. The MPCI receive server may invoke nearly all directives and
-may require extra stack space on some targets.
-
-@item stack_allocate_hook
-is the address of the optional user provided routine which allocates
-memory for task stacks. If this hook is not NULL, then a stack_free_hook
-must be provided as well.
-
-@item stack_free_hook
-is the address of the optional user provided routine which frees
-memory for task stacks. If this hook is not NULL, then a stack_allocate_hook
-must be provided as well.
-
-@end table
-
@section Initializing the CPU
The _CPU_Initialize routine performs processor dependent initialization.
@example
void _CPU_Initialize(
- rtems_cpu_table *cpu_table,
void (*thread_dispatch) /* may be ignored */
)
@end example
@@ -139,12 +50,3 @@ FP context here and copy it to the task's during Context_Initialize. If
this technique is used to initialize the FP contexts, then it is important
to ensure that the state of the floating point unit is in a coherent,
initialized state.
-
-Finally, this routine is responsible for copying the application's CPU
-Table into a locally accessible and modifiable area. This is shown below:
-
-@example
-_CPU_Table = *cpu_table;
-@end example
-
-
diff --git a/doc/user/conf.t b/doc/user/conf.t
index e2df439307..bff67ca27d 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -11,7 +11,6 @@
@c CONFIGURE_NEWLIB_EXTENSION - probably not needed
@c CONFIGURE_MALLOC_REGION - probably not needed
@c CONFIGURE_LIBIO_SEMAPHORES - implicitly discussed.
-@c CONFIGURE_INTERRUPT_STACK_MEMORY
@c CONFIGURE_GNAT_RTEMS
@c CONFIGURE_GNAT_MUTEXES
@c CONFIGURE_GNAT_KEYS
@@ -201,13 +200,13 @@ This section defines the general system configuration parameters supported by
if the application is providing their own complete set of configuration
tables.
-@findex CONFIGURE_INTERRUPT_STACK_MEMORY
-@item @code{CONFIGURE_INTERRUPT_STACK_MEMORY} is set to the
+@findex CONFIGURE_INTERRUPT_STACK_SIZE
+@item @code{CONFIGURE_INTERRUPT_STACK_SIZE} is set to the
size of the interrupt stack. The interrupt stack size is
usually set by the BSP but since this memory is allocated
from the RTEMS Ram Workspace, it must be accounted for. The
default for this field is RTEMS_MINIMUM_STACK_SIZE. [NOTE:
-At this time, changing this constant does NOT change the
+In some BSPs, changing this constant does NOT change the
size of the interrupt stack, only the amount of memory
reserved for it.]
@@ -227,6 +226,12 @@ of time between clock ticks. By default, this is set to
of the timeslice quantum in ticks for each task. By
default, this is 50.
+@fnindex CONFIGURE_INTERRUPT_STACK_SIZE
+@item @code{CONFIGURE_INTERRUPT_STACK_SIZE} is set to the
+desired stack size for the interrupt. If not specified,
+the interrupt stack will be of minimum size. The default
+value is @code{RTEMS_MINIMUM_STACK_SIZE}.
+
@findex CONFIGURE_TASK_STACK_ALLOCATOR
@item @code{CONFIGURE_TASK_STACK_ALLOCATOR}
may point to a user provided routine to allocate task stacks.
@@ -788,6 +793,7 @@ typedef struct @{
uint32_t ticks_per_timeslice;
void (*idle_task)( void );
uint32_t idle_task_stack_size;
+ uint32_t interrupt_stack_size;
void * (*stack_allocate_hook)( uint32_t );
void (*stack_free_hook)( void * );
boolean do_zero_of_workspace;
@@ -857,12 +863,21 @@ corresponds to the setting of the macro @code{CONFIGURE_IDLE_TASK_BODY}.
@item idle_task_stack_size
is the size of the RTEMS idle task stack in bytes.
If this number is less than MINIMUM_STACK_SIZE, then the
-idle task's stack will be MINIMUM_STACK_SIZE in byte.
+idle task's stack will be MINIMUM_STACK_SIZE in bytes.
When using the @code{rtems/confdefs.h} mechanism
for configuring an RTEMS application, the value for this field
corresponds to the setting of the macro
@code{CONFIGURE_IDLE_TASK_STACK_SIZE}.
+@item interrupt_stack_size
+is the size of the RTEMS interrupt stack in bytes.
+If this number is less than MINIMUM_STACK_SIZE, then the
+interrupt stack will be MINIMUM_STACK_SIZE in bytes.
+When using the @code{rtems/confdefs.h} mechanism
+for configuring an RTEMS application, the value for this field
+corresponds to the setting of the macro
+@code{CONFIGURE_INTERRUPT_STACK_SIZE}.
+
@item stack_allocate_hook
may point to a user provided routine to allocate task stacks.
The default is to allocate task stacks from the RTEMS Workspace.
diff --git a/doc/user/init.t b/doc/user/init.t
index f5bfd3840a..375cc6ea0f 100644
--- a/doc/user/init.t
+++ b/doc/user/init.t
@@ -19,7 +19,6 @@ also initializes the interprocessor communications layer. The
directives provided by the initialization manager are:
@itemize @bullet
-@item @code{@value{DIRPREFIX}initialize_executive} - Initialize RTEMS
@item @code{@value{DIRPREFIX}initialize_executive_early} - Initialize RTEMS and do NOT Start Multitasking
@item @code{@value{DIRPREFIX}initialize_executive_late} - Complete Initialization and Start Multitasking
@item @code{@value{DIRPREFIX}shutdown_executive} - Shutdown RTEMS
@@ -124,14 +123,11 @@ created or started successfully.
@subsection Initializing RTEMS
-The @code{@value{DIRPREFIX}initialize_executive}
-directive is called by the
-board support package at the completion of its initialization
+The Initializatiton Manager directives are called by the
+board support package framework as part of its initialization
sequence. RTEMS assumes that the board support package
-successfully completed its initialization activities. The
-@code{@value{DIRPREFIX}initialize_executive}
-directive completes the initialization
-sequence by performing the following actions:
+successfully completed its initialization activities. These
+directives initialize RTEMS by performing the following actions:
@itemize @bullet
@item Initializing internal RTEMS variables;
@@ -144,36 +140,21 @@ sequence by performing the following actions:
This directive MUST be called before any other RTEMS
directives. The effect of calling any RTEMS directives before
-@code{@value{DIRPREFIX}initialize_executive}
+@code{@value{DIRPREFIX}initialize_executive_early}
is unpredictable. Many of RTEMS actions
during initialization are based upon the contents of the
-Configuration Table and CPU Dependent Information Table. For
-more information regarding the format and contents of these
-tables, please refer to the chapter Configuring a System.
+Configuration Table. For more information regarding the format
+and contents of this table, please refer to the chapter
+Configuring a System.
The final step in the initialization sequence is the
initiation of multitasking. When the scheduler and dispatcher
are enabled, the highest priority, ready task will be dispatched
to run. Control will not be returned to the board support
package after multitasking is enabled until
-@code{@value{DIRPREFIX}shutdown_executive}
+@code{@value{DIRPREFIX}shutdown_executive_late}
the directive is called.
-The @code{@value{DIRPREFIX}initialize_executive}
-directive provides a
-conceptually simple way to initialize RTEMS. However, in
-certain cases, this mechanism cannot be used. The
-@code{@value{DIRPREFIX}initialize_executive_early}
-and @code{@value{DIRPREFIX}initialize_executive_late}
-directives are provided as an alternative mechanism for
-initializing RTEMS. The
-@code{@value{DIRPREFIX}initialize_executive_early} directive
-returns to the caller BEFORE initiating multitasking. The
-@code{@value{DIRPREFIX}initialize_executive_late}
-directive is invoked to start
-multitasking. It is critical that only one of the RTEMS
-initialization sequences be used in an application.
-
@subsection Shutting Down RTEMS
The @code{@value{DIRPREFIX}shutdown_executive} directive is invoked by the
@@ -190,69 +171,6 @@ directives and describes the calling sequence, related
constants, usage, and status codes.
@page
-@subsection INITIALIZE_EXECUTIVE - Initialize RTEMS
-
-@cindex initialize RTEMS
-
-@subheading CALLING SEQUENCE:
-
-@ifset is-C
-@findex rtems_initialize_executive
-@example
-void rtems_initialize_executive(
- rtems_configuration_table *configuration_table,
- rtems_cpu_table *cpu_table
-);
-@end example
-@end ifset
-
-@ifset is-Ada
-@example
-NOT SUPPORTED FROM Ada BINDING
-@end example
-@end ifset
-
-@subheading DIRECTIVE STATUS CODES:
-
-NONE
-
-@subheading DESCRIPTION:
-
-This directive is called when the board support
-package has completed its initialization to allow RTEMS to
-initialize the application environment based upon the
-information in the Configuration Table, CPU Dependent
-Information Table, User Initialization Tasks Table, Device
-Driver Table, User Extension Table, Multiprocessor Configuration
-Table, and the Multiprocessor Communications Interface (MPCI)
-Table. This directive starts multitasking and does not return
-to the caller until the @code{@value{DIRPREFIX}shutdown_executive}
-directive is invoked.
-
-@subheading NOTES:
-
-This directive MUST be the first RTEMS directive
-called and it DOES NOT RETURN to the caller until the
-@code{@value{DIRPREFIX}shutdown_executive}
-is invoked.
-
-This directive causes all nodes in the system to
-verify that certain configuration parameters are the same as
-those of the local node. If an inconsistency is detected, then
-a fatal error is generated.
-
-The application must use only one of the two
-initialization sequences:
-@code{@value{DIRPREFIX}initialize_executive} or
-@code{@value{DIRPREFIX}initialize_executive_early} and
-@code{@value{DIRPREFIX}initialize_executive_late}. The
-@code{@value{DIRPREFIX}initialize_executive}
-directive is logically equivalent to invoking
-@code{@value{DIRPREFIX}initialize_executive_early} and
-@code{@value{DIRPREFIX}initialize_executive_late}
-with no intervening actions.
-
-@page
@subsection INITIALIZE_EXECUTIVE_EARLY - Initialize RTEMS and do NOT Start Multitasking
@cindex initialize RTEMS
@@ -263,8 +181,7 @@ with no intervening actions.
@findex rtems_initialize_executive_early
@example
rtems_interrupt_level rtems_initialize_executive_early(
- rtems_configuration_table *configuration_table,
- rtems_cpu_table *cpu_table
+ rtems_configuration_table *configuration_table
);
@end example
@end ifset