Changeset 56d34e6 in rtems for cpukit/sapi/src/exinit.c


Ignore:
Timestamp:
Feb 21, 1996, 2:32:02 PM (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
c4b8161d
Parents:
b2b52cbc
Message:

Removed the internal thread objects and dispersed its contents to
the thread handler (IDLE), MPCI object (SYSI now MP Receive)
and initialize_executive_early (IO initialization). The SYSI task
no longer exists in a single processor configuration. This reduces
single processor Workspace requirements by a TCB and a stack which
is often larger than the minimum stack size. Moving the IO initialization
plus accompanying BSP hooks eliminated an initialization ordering problem
in which a global task could be created before the MPCI was initialized.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/sapi/src/exinit.c

    rb2b52cbc r56d34e6  
    3333#include <rtems/score/heap.h>
    3434#include <rtems/score/interr.h>
    35 #include <rtems/intthrd.h>
    3635#include <rtems/score/isr.h>
    3736#include <rtems/score/mpci.h>
     
    175174  );
    176175
    177   /*
    178    *  No threads should be created before this point!!! _Thread_Executing
    179    *  and _Thread_Heir are not set yet.
    180    */
    181 
    182   _Internal_threads_Initialization();
    183 
    184176  _MPCI_Handler_initialization(
    185177    multiprocessing_table->User_mpci_table,
     
    199191  _RTEMS_API_Initialize( configuration_table );
    200192
     193  _System_state_Set( SYSTEM_STATE_BEFORE_MULTITASKING );
     194
    201195  if ( cpu_table->pretasking_hook )
    202196    (*cpu_table->pretasking_hook)();
    203197
    204   _Internal_threads_Start();
    205 
    206   _System_state_Set( SYSTEM_STATE_BEFORE_MULTITASKING );
     198  /*
     199   *  No threads should be created before this point!!!
     200   *
     201   *  At this point all API extensions are in place.  After the call to
     202   *  _Thread_Create_idle() _Thread_Executing will be set.
     203   *  and _Thread_Heir are not set yet.
     204   */
     205
     206  _Thread_Create_idle();
     207
     208  _MPCI_Create_server();
    207209
    208210  /*
     
    225227  if ( _System_state_Is_multiprocessing ) {
    226228    _MPCI_Initialization();
    227     _Internal_threads_MP_Send_process_packet(
    228       INTERNAL_THREADS_MP_SYSTEM_VERIFY
     229    _MPCI_Internal_packets_Send_process_packet(
     230      MPCI_PACKETS_SYSTEM_VERIFY
    229231    );
    230232  }
Note: See TracChangeset for help on using the changeset viewer.