Changeset 66c50e2 in rtems


Ignore:
Timestamp:
Dec 4, 2007, 10:18:30 PM (12 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.9, master
Children:
a1f37a0
Parents:
5ca28f6a
Message:

2007-12-04 Joel Sherrill <joel.sherrill@…>

  • 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.
Location:
doc
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • doc/ChangeLog

    r5ca28f6a r66c50e2  
     12007-12-04      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * cpu_supplement/arm.t, cpu_supplement/i386.t, cpu_supplement/m68k.t,
     4        cpu_supplement/mips.t, cpu_supplement/powerpc.t, cpu_supplement/sh.t,
     5        cpu_supplement/sparc.t, cpu_supplement/tic4x.t, porting/cpuinit.t,
     6        user/conf.t, user/init.t: Move interrupt_stack_size field from CPU
     7        Table to Configuration Table. Eliminate CPU Table from all ports.
     8        Delete references to CPU Table in all forms.
     9
    1102007-12-03      Joel Sherrill <joel.sherrill@OARcorp.com>
    211
  • doc/cpu_supplement/arm.t

    r5ca28f6a r66c50e2  
    486486the results are unpredictable.
    487487
    488 @c
    489 @c  COPYRIGHT (c) 1988-2002.
    490 @c  On-Line Applications Research Corporation (OAR).
    491 @c  All rights reserved.
    492 @c
    493 @c  $Id$
    494 @c
    495 
    496 @section Processor Dependent Information Table
    497 
    498 
    499 Any highly processor dependent information required
    500 to describe a processor to RTEMS is provided in the CPU
    501 Dependent Information Table.  This table is not required for all
    502 processors supported by RTEMS.  This chapter describes the
    503 contents, if any, for a particular processor type.
    504 
    505 @subsection CPU Dependent Information Table
    506 
    507 The XXX version of the RTEMS CPU Dependent
    508 Information Table contains the information required to interface
    509 a Board Support Package and RTEMS on the XXX.  This
    510 information is provided to allow RTEMS to interoperate
    511 effectively with the BSP.  The C structure definition is given
    512 here:
    513 
    514 @example
    515 @group
    516 typedef struct @{
    517   uint32_t     interrupt_stack_size;
    518   /* end of fields required on all CPUs */
    519 @} rtems_cpu_table;
    520 @end group
    521 @end example
    522 
    523 @table @code
    524 @item interrupt_stack_size
    525 is the size of the RTEMS
    526 allocated interrupt stack in bytes.  This value must be at least
    527 as large as MINIMUM_STACK_SIZE.
    528 
    529 @end table
  • doc/cpu_supplement/i386.t

    r5ca28f6a r66c50e2  
    575575contents, refer to Intel's 386 Programmer's Reference Manual.
    576576
    577 @c
    578 @c  COPYRIGHT (c) 1988-2002.
    579 @c  On-Line Applications Research Corporation (OAR).
    580 @c  All rights reserved.
    581 @c
    582 @c  $Id$
    583 @c
    584 
    585 @section Processor Dependent Information Table
    586 
    587 
    588 Any highly processor dependent information required
    589 to describe a processor to RTEMS is provided in the CPU
    590 Dependent Information Table.  This table is not required for all
    591 processors supported by RTEMS.  This chapter describes the
    592 contents, if any, for a particular processor type.
    593 
    594 @subsection CPU Dependent Information Table
    595 
    596 The i386 version of the RTEMS CPU Dependent
    597 Information Table contains the information required to interface
    598 a Board Support Package and RTEMS on the i386.  This information
    599 is provided to allow RTEMS to interoperate effectively with the
    600 BSP.  The C structure definition is given here:
    601 
    602 @example
    603 @group
    604 typedef struct @{
    605   uint32_t     interrupt_stack_size;
    606   /* end of fields required on all CPUs */
    607 @} rtems_cpu_table;
    608 @end group
    609 @end example
    610 
    611 @table @code
    612 
    613 @item interrupt_stack_size
    614 is the size of the RTEMS
    615 allocated interrupt stack in bytes.  This value must be at least
    616 as large as MINIMUM_STACK_SIZE.
    617 
    618 @end table
  • doc/cpu_supplement/m68k.t

    r5ca28f6a r66c50e2  
    663663interrupt occurs before initialize_executive is invoked, then
    664664the results are unpredictable.
    665 
    666 @c
    667 @c  COPYRIGHT (c) 1988-2002.
    668 @c  On-Line Applications Research Corporation (OAR).
    669 @c  All rights reserved.
    670 @c
    671 @c  $Id$
    672 @c
    673 
    674 @section Processor Dependent Information Table
    675 
    676 
    677 Any highly processor dependent information required
    678 to describe a processor to RTEMS is provided in the CPU
    679 Dependent Information Table.  This table is not required for all
    680 processors supported by RTEMS.  This chapter describes the
    681 contents, if any, for a particular processor type.
    682 
    683 @subsection CPU Dependent Information Table
    684 
    685 The MC68xxx version of the RTEMS CPU Dependent
    686 Information Table contains the information required to interface
    687 a Board Support Package and RTEMS on the MC68xxx.  This
    688 information is provided to allow RTEMS to interoperate
    689 effectively with the BSP.  The C structure definition is given
    690 here:
    691 
    692 @example
    693 @group
    694 typedef struct @{
    695   unsigned32   interrupt_stack_size;
    696   /* end of fields required on all CPUs */
    697 @} rtems_cpu_table;
    698 @end group
    699 @end example
    700 
    701 @table @code
    702 
    703 @item interrupt_stack_size
    704 is the size of the RTEMS
    705 allocated interrupt stack in bytes.  This value must be at least
    706 as large as MINIMUM_STACK_SIZE.
    707 
    708 @end table
  • doc/cpu_supplement/mips.t

    r5ca28f6a r66c50e2  
    567567interrupt occurs before initialize_executive is invoked, then
    568568the results are unpredictable.
    569 
    570 @c
    571 @c  COPYRIGHT (c) 1988-2002.
    572 @c  On-Line Applications Research Corporation (OAR).
    573 @c  All rights reserved.
    574 @c
    575 @c  $Id$
    576 @c
    577 
    578 @section Processor Dependent Information Table
    579 
    580 
    581 Any highly processor dependent information required
    582 to describe a processor to RTEMS is provided in the CPU
    583 Dependent Information Table.  This table is not required for all
    584 processors supported by RTEMS.  This chapter describes the
    585 contents, if any, for a particular processor type.
    586 
    587 @subsection CPU Dependent Information Table
    588 
    589 The XXX version of the RTEMS CPU Dependent
    590 Information Table contains the information required to interface
    591 a Board Support Package and RTEMS on the XXX.  This
    592 information is provided to allow RTEMS to interoperate
    593 effectively with the BSP.  The C structure definition is given
    594 here:
    595 
    596 @example
    597 @group
    598 typedef struct @{
    599   unsigned32   interrupt_stack_size;
    600   /* end of fields required on all CPUs */
    601 @} rtems_cpu_table;
    602 @end group
    603 @end example
    604 
    605 @table @code
    606 
    607 @item interrupt_stack_size
    608 is the size of the RTEMS
    609 allocated interrupt stack in bytes.  This value must be at least
    610 as large as MINIMUM_STACK_SIZE.
    611 
    612 @end table
  • doc/cpu_supplement/powerpc.t

    r5ca28f6a r66c50e2  
    887887
    888888@end itemize
    889 
    890 @c
    891 @c  COPYRIGHT (c) 1989-2007.
    892 @c  On-Line Applications Research Corporation (OAR).
    893 @c  All rights reserved.
    894 @c
    895 @c  $Id$
    896 @c
    897 
    898 @section Processor Dependent Information Table
    899 
    900 
    901 Any highly processor dependent information required
    902 to describe a processor to RTEMS is provided in the CPU
    903 Dependent Information Table.  This table is not required for all
    904 processors supported by RTEMS.  This chapter describes the
    905 contents, if any, for a particular processor type.
    906 
    907 @subsection CPU Dependent Information Table
    908 
    909 The PowerPC version of the RTEMS CPU Dependent
    910 Information Table is given by the C structure definition is
    911 shown below:
    912 
    913 @example
    914 typedef struct @{
    915   unsigned32   interrupt_stack_size;
    916   /* end of fields required on all CPUs */
    917 @} rtems_cpu_table;
    918 @end example
    919 
    920 @table @code
    921 
    922 @item interrupt_stack_size
    923 is the size of the RTEMS allocated interrupt stack in bytes.
    924 This value must be at least as large as MINIMUM_STACK_SIZE.
    925 
    926 @end table
  • doc/cpu_supplement/sh.t

    r5ca28f6a r66c50e2  
    575575interrupt occurs before initialize_executive is invoked, then
    576576the results are unpredictable.
    577 
    578 @c
    579 @c  COPYRIGHT (c) 1988-2002.
    580 @c  On-Line Applications Research Corporation (OAR).
    581 @c  All rights reserved.
    582 @c
    583 @c  $Id$
    584 @c
    585 
    586 @section Processor Dependent Information Table
    587 
    588 
    589 Any highly processor dependent information required
    590 to describe a processor to RTEMS is provided in the CPU
    591 Dependent Information Table.  This table is not required for all
    592 processors supported by RTEMS.  This chapter describes the
    593 contents, if any, for a particular processor type.
    594 
    595 @subsection CPU Dependent Information Table
    596 
    597 The XXX version of the RTEMS CPU Dependent
    598 Information Table contains the information required to interface
    599 a Board Support Package and RTEMS on the XXX.  This
    600 information is provided to allow RTEMS to interoperate
    601 effectively with the BSP.  The C structure definition is given
    602 here:
    603 
    604 @example
    605 @group
    606 typedef struct @{
    607   unsigned32   interrupt_stack_size;
    608   /* end of fields required on all CPUs */
    609 @} rtems_cpu_table;
    610 @end group
    611 @end example
    612 
    613 @table @code
    614 
    615 @item interrupt_stack_size
    616 is the size of the RTEMS
    617 allocated interrupt stack in bytes.  This value must be at least
    618 as large as MINIMUM_STACK_SIZE.
    619 
    620 @end table
  • doc/cpu_supplement/sparc.t

    r5ca28f6a r66c50e2  
    10241024window underflow.
    10251025@end itemize
    1026 
    1027 @c
    1028 @c  COPYRIGHT (c) 1988-2002.
    1029 @c  On-Line Applications Research Corporation (OAR).
    1030 @c  All rights reserved.
    1031 @c
    1032 @c  $Id$
    1033 @c
    1034 
    1035 @section Processor Dependent Information Table
    1036 
    1037 
    1038 Any highly processor dependent information required
    1039 to describe a processor to RTEMS is provided in the CPU
    1040 Dependent Information Table.  This table is not required for all
    1041 processors supported by RTEMS.  This chapter describes the
    1042 contents, if any, for a particular processor type.
    1043 
    1044 @subsection CPU Dependent Information Table
    1045 
    1046 The SPARC version of the RTEMS CPU Dependent
    1047 Information Table is given by the C structure definition is
    1048 shown below:
    1049 
    1050 @example
    1051 @group
    1052 typedef struct @{
    1053   unsigned32   interrupt_stack_size;
    1054   /* end of fields required on all CPUs */
    1055 @} rtems_cpu_table;
    1056 @end group
    1057 @end example
    1058 
    1059 @table @code
    1060 
    1061 @item interrupt_stack_size
    1062 is the size of the RTEMS allocated interrupt stack in bytes.
    1063 This value must be at least as large as MINIMUM_STACK_SIZE.
    1064 
    1065 @end table
    1066 
  • doc/cpu_supplement/tic4x.t

    r5ca28f6a r66c50e2  
    778778interrupt occurs before initialize_executive is invoked, then
    779779the results are unpredictable.
    780 
    781 @c
    782 @c  COPYRIGHT (c) 1988-1999.
    783 @c  On-Line Applications Research Corporation (OAR).
    784 @c  All rights reserved.
    785 @c
    786 @c  $Id$
    787 @c
    788 
    789 @section Processor Dependent Information Table
    790 
    791 
    792 Any highly processor dependent information required
    793 to describe a processor to RTEMS is provided in the CPU
    794 Dependent Information Table.  This table is not required for all
    795 processors supported by RTEMS.  This chapter describes the
    796 contents, if any, for a particular processor type.
    797 
    798 @subsection CPU Dependent Information Table
    799 
    800 The XXX version of the RTEMS CPU Dependent
    801 Information Table contains the information required to interface
    802 a Board Support Package and RTEMS on the XXX.  This
    803 information is provided to allow RTEMS to interoperate
    804 effectively with the BSP.  The C structure definition is given
    805 here:
    806 
    807 @example
    808 @group
    809 typedef struct @{
    810   unsigned32   interrupt_stack_size;
    811   /* end of fields required on all CPUs */
    812 @} rtems_cpu_table;
    813 @end group
    814 @end example
    815 
    816 @table @code
    817 
    818 @item interrupt_stack_size
    819 is the size of the RTEMS
    820 allocated interrupt stack in bytes.  This value must be at least
    821 as large as MINIMUM_STACK_SIZE.
    822 
    823 @end table
  • doc/porting/cpuinit.t

    r5ca28f6a r66c50e2  
    1717applicable to CPU depdent code in executive
    1818
    19 @section CPU Dependent Configuration Table
    20 
    21 The CPU Dependent Configuration Table contains information which tailors
    22 the behavior of RTEMS base Some of the fields in this table are required
    23 to be present in all ports of RTEMS.  These fields appear at the beginning
    24 of the data structure.  Fields past this point may be CPU family and CPU
    25 model dependent.  For example, a port may add a field to specify the
    26 default value for an interrupt mask register on the CPU.  This table is
    27 initialized by the Board Support Package and passed to the
    28 rtems_initialize_executive or rtems_initialize_executive_early directive.
    29 
    30 @example
    31 typedef struct @{
    32   void       (*pretasking_hook)( void );
    33   void       (*predriver_hook)( void );
    34   void       (*postdriver_hook)( void );
    35   void       (*idle_task)( void );
    36   boolean      do_zero_of_workspace;
    37   unsigned32   idle_task_stack_size;
    38   unsigned32   interrupt_stack_size;
    39   unsigned32   extra_mpci_receive_server_stack;
    40   void *     (*stack_allocate_hook)( unsigned32 );
    41   void       (*stack_free_hook)( void* );
    42   /* end of fields required on all CPUs */
    43 
    44   unsigned32   some_other_cpu_dependent_info;
    45 @}   rtems_cpu_table;
    46 @end example
    47 
    48 @table @code
    49 @item pretasking_hook
    50 is the address of the user provided routine which is invoked
    51 once RTEMS APIs are initialized.  This routine will be invoked
    52 before any system tasks are created.  Interrupts are disabled.
    53 This field may be NULL to indicate that the hook is not utilized.
    54 
    55 @item predriver_hook
    56 is the address of the user provided
    57 routine that is invoked immediately before the
    58 the device drivers and MPCI are initialized. RTEMS
    59 initialization is complete but interrupts and tasking are disabled.
    60 This field may be NULL to indicate that the hook is not utilized.
    61 
    62 @item postdriver_hook
    63 is the address of the user provided
    64 routine that is invoked immediately after the
    65 the device drivers and MPCI are initialized. RTEMS
    66 initialization is complete but interrupts and tasking are disabled.
    67 This field may be NULL to indicate that the hook is not utilized.
    68 
    69 @item idle_task
    70 is the address of the optional user
    71 provided routine which is used as the system's IDLE task.  If
    72 this field is not NULL, then the RTEMS default IDLE task is not
    73 used.  This field may be NULL to indicate that the default IDLE
    74 is to be used.
    75 
    76 @item do_zero_of_workspace
    77 indicates whether RTEMS should
    78 zero the Workspace as part of its initialization.  If set to
    79 TRUE, the Workspace is zeroed.  Otherwise, it is not.
    80 
    81 @item idle_task_stack_size
    82 is the size of the RTEMS idle task stack in bytes.
    83 If this number is less than MINIMUM_STACK_SIZE, then the
    84 idle task's stack will be MINIMUM_STACK_SIZE in byte.
    85 
    86 @item interrupt_stack_size
    87 is the size of the RTEMS allocated interrupt stack in bytes.
    88 This value must be at least as large as MINIMUM_STACK_SIZE.
    89 
    90 @item extra_mpci_receive_server_stack
    91 is the extra stack space allocated for the RTEMS MPCI receive server task
    92 in bytes.  The MPCI receive server may invoke nearly all directives and
    93 may require extra stack space on some targets.
    94 
    95 @item stack_allocate_hook
    96 is the address of the optional user provided routine which allocates
    97 memory for task stacks.  If this hook is not NULL, then a stack_free_hook
    98 must be provided as well.
    99 
    100 @item stack_free_hook
    101 is the address of the optional user provided routine which frees
    102 memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
    103 must be provided as well.
    104 
    105 @end table
    106 
    10719@section Initializing the CPU
    10820
     
    11123@example
    11224void _CPU_Initialize(
    113   rtems_cpu_table  *cpu_table,
    11425  void            (*thread_dispatch)  /* may be ignored */
    11526)
     
    14051to ensure that the state of the floating point unit is in a coherent,
    14152initialized state.
    142 
    143 Finally, this routine is responsible for copying the application's CPU
    144 Table into a locally accessible and modifiable area.  This is shown below:
    145 
    146 @example
    147 _CPU_Table = *cpu_table;
    148 @end example
    149 
    150 
  • doc/user/conf.t

    r5ca28f6a r66c50e2  
    1212@c CONFIGURE_MALLOC_REGION - probably not needed
    1313@c CONFIGURE_LIBIO_SEMAPHORES - implicitly discussed.
    14 @c CONFIGURE_INTERRUPT_STACK_MEMORY
    1514@c CONFIGURE_GNAT_RTEMS
    1615@c     CONFIGURE_GNAT_MUTEXES
     
    202201tables.
    203202
    204 @findex CONFIGURE_INTERRUPT_STACK_MEMORY
    205 @item @code{CONFIGURE_INTERRUPT_STACK_MEMORY} is set to the
     203@findex CONFIGURE_INTERRUPT_STACK_SIZE
     204@item @code{CONFIGURE_INTERRUPT_STACK_SIZE} is set to the
    206205size of the interrupt stack.  The interrupt stack size is
    207206usually set by the BSP but since this memory is allocated
    208207from the RTEMS Ram Workspace, it must be accounted for.  The
    209208default for this field is RTEMS_MINIMUM_STACK_SIZE.  [NOTE:
    210 At this time, changing this constant does NOT change the
     209In some BSPs, changing this constant does NOT change the
    211210size of the interrupt stack, only the amount of memory
    212211reserved for it.]
     
    227226of the timeslice quantum in ticks for each task.  By
    228227default, this is 50.
     228
     229@fnindex CONFIGURE_INTERRUPT_STACK_SIZE
     230@item @code{CONFIGURE_INTERRUPT_STACK_SIZE} is set to the
     231desired stack size for the interrupt.  If not specified,
     232the interrupt stack will be of minimum size.  The default
     233value is @code{RTEMS_MINIMUM_STACK_SIZE}.
    229234
    230235@findex CONFIGURE_TASK_STACK_ALLOCATOR
     
    789794  void                          (*idle_task)( void );
    790795  uint32_t                        idle_task_stack_size;
     796  uint32_t                        interrupt_stack_size;
    791797  void *                        (*stack_allocate_hook)( uint32_t );
    792798  void                          (*stack_free_hook)( void * );
     
    858864is the size of the RTEMS idle task stack in bytes. 
    859865If this number is less than MINIMUM_STACK_SIZE, then the
    860 idle task's stack will be MINIMUM_STACK_SIZE in byte.
     866idle task's stack will be MINIMUM_STACK_SIZE in bytes.
    861867When using the @code{rtems/confdefs.h} mechanism
    862868for configuring an RTEMS application, the value for this field
    863869corresponds to the setting of the macro
    864870@code{CONFIGURE_IDLE_TASK_STACK_SIZE}.
     871
     872@item interrupt_stack_size
     873is the size of the RTEMS interrupt stack in bytes. 
     874If this number is less than MINIMUM_STACK_SIZE, then the
     875interrupt stack will be MINIMUM_STACK_SIZE in bytes.
     876When using the @code{rtems/confdefs.h} mechanism
     877for configuring an RTEMS application, the value for this field
     878corresponds to the setting of the macro
     879@code{CONFIGURE_INTERRUPT_STACK_SIZE}.
    865880
    866881@item stack_allocate_hook
  • doc/user/init.t

    r5ca28f6a r66c50e2  
    2020
    2121@itemize @bullet
    22 @item @code{@value{DIRPREFIX}initialize_executive} - Initialize RTEMS
    2322@item @code{@value{DIRPREFIX}initialize_executive_early} - Initialize RTEMS and do NOT Start Multitasking
    2423@item @code{@value{DIRPREFIX}initialize_executive_late} - Complete Initialization and Start Multitasking
     
    125124@subsection Initializing RTEMS
    126125
    127 The @code{@value{DIRPREFIX}initialize_executive}
    128 directive is called by the
    129 board support package at the completion of its initialization
     126The Initializatiton Manager directives are called by the
     127board support package framework as part of its initialization
    130128sequence.  RTEMS assumes that the board support package
    131 successfully completed its initialization activities.  The
    132 @code{@value{DIRPREFIX}initialize_executive}
    133 directive completes the initialization
    134 sequence by performing the following actions:
     129successfully completed its initialization activities.  These
     130directives initialize RTEMS by performing the following actions:
    135131
    136132@itemize @bullet
     
    145141This directive MUST be called before any other RTEMS
    146142directives.  The effect of calling any RTEMS directives before
    147 @code{@value{DIRPREFIX}initialize_executive}
     143@code{@value{DIRPREFIX}initialize_executive_early}
    148144is unpredictable.  Many of RTEMS actions
    149145during initialization are based upon the contents of the
    150 Configuration Table and CPU Dependent Information Table.  For
    151 more information regarding the format and contents of these
    152 tables, please refer to the chapter Configuring a System.
     146Configuration Table.  For more information regarding the format
     147and contents of this table, please refer to the chapter
     148Configuring a System.
    153149
    154150The final step in the initialization sequence is the
     
    157153to run.  Control will not be returned to the board support
    158154package after multitasking is enabled until
    159 @code{@value{DIRPREFIX}shutdown_executive}
     155@code{@value{DIRPREFIX}shutdown_executive_late}
    160156the directive is called.
    161 
    162 The @code{@value{DIRPREFIX}initialize_executive}
    163 directive provides a
    164 conceptually simple way to initialize RTEMS.  However, in
    165 certain cases, this mechanism cannot be used.  The
    166 @code{@value{DIRPREFIX}initialize_executive_early}
    167 and @code{@value{DIRPREFIX}initialize_executive_late}
    168 directives are provided as an alternative mechanism for
    169 initializing RTEMS.  The
    170 @code{@value{DIRPREFIX}initialize_executive_early} directive
    171 returns to the caller BEFORE initiating multitasking.  The
    172 @code{@value{DIRPREFIX}initialize_executive_late}
    173 directive is invoked to start
    174 multitasking.  It is critical that only one of the RTEMS
    175 initialization sequences be used in an application.
    176157
    177158@subsection Shutting Down RTEMS
     
    191172
    192173@page
    193 @subsection INITIALIZE_EXECUTIVE - Initialize RTEMS
    194 
    195 @cindex initialize RTEMS
    196 
    197 @subheading CALLING SEQUENCE:
    198 
    199 @ifset is-C
    200 @findex rtems_initialize_executive
    201 @example
    202 void rtems_initialize_executive(
    203   rtems_configuration_table *configuration_table,
    204   rtems_cpu_table           *cpu_table
    205 );
    206 @end example
    207 @end ifset
    208 
    209 @ifset is-Ada
    210 @example
    211 NOT SUPPORTED FROM Ada BINDING
    212 @end example
    213 @end ifset
    214 
    215 @subheading DIRECTIVE STATUS CODES:
    216 
    217 NONE
    218 
    219 @subheading DESCRIPTION:
    220 
    221 This directive is called when the board support
    222 package has completed its initialization to allow RTEMS to
    223 initialize the application environment based upon the
    224 information in the Configuration Table, CPU Dependent
    225 Information Table, User Initialization Tasks Table, Device
    226 Driver Table, User Extension Table, Multiprocessor Configuration
    227 Table, and the Multiprocessor Communications Interface (MPCI)
    228 Table.  This directive starts multitasking and does not return
    229 to the caller until the @code{@value{DIRPREFIX}shutdown_executive}
    230 directive is invoked.
    231 
    232 @subheading NOTES:
    233 
    234 This directive MUST be the first RTEMS directive
    235 called and it DOES NOT RETURN to the caller until the
    236 @code{@value{DIRPREFIX}shutdown_executive}
    237 is invoked.
    238 
    239 This directive causes all nodes in the system to
    240 verify that certain configuration parameters are the same as
    241 those of the local node.  If an inconsistency is detected, then
    242 a fatal error is generated.
    243 
    244 The application must use only one of the two
    245 initialization sequences:
    246 @code{@value{DIRPREFIX}initialize_executive} or
    247 @code{@value{DIRPREFIX}initialize_executive_early} and
    248 @code{@value{DIRPREFIX}initialize_executive_late}.  The
    249 @code{@value{DIRPREFIX}initialize_executive}
    250 directive is logically equivalent to invoking
    251 @code{@value{DIRPREFIX}initialize_executive_early} and
    252 @code{@value{DIRPREFIX}initialize_executive_late}
    253 with no intervening actions.
    254 
    255 @page
    256174@subsection INITIALIZE_EXECUTIVE_EARLY - Initialize RTEMS and do NOT Start Multitasking
    257175
     
    264182@example
    265183rtems_interrupt_level rtems_initialize_executive_early(
    266   rtems_configuration_table *configuration_table,
    267   rtems_cpu_table           *cpu_table
     184  rtems_configuration_table *configuration_table
    268185);
    269186@end example
Note: See TracChangeset for help on using the changeset viewer.