init(D2)

init,edtinit,start - initialize drivers and their devices

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     init,edtinit,start - initialize drivers and their devices

SYNOPSIS
     void prefixinit(void);
     void prefixedtinit(struct edt *);
     void prefixstart(void);

DESCRIPTION
     The init, edtinit and start routines execute during system initialization
     to initialize drivers and the devices they control.

   Return Values
     None

USAGE
     These entry points are optional.

     Although init, edtinit and start routines all perform initialization
     tasks, they execute at different times during system start-up.  For this
     reason, they should be used to handle different types of initialization
     tasks.  All of these routines are called after interrupts have been
     enabled.

     init routines:

          execute during system initialization

          handle any driver and device setup and initialization that must take
          place before I/O is initialized

          typically perform tasks such as: inititalize semaphores and locks,
          malloc memory for driver data structures, initialize driver data
          structures, etc.

     edtinit routines:

          exist for drivers that use VECTOR lines in the system(4) file

          are executed immediately after the init routines

          may be called multiple times per driver, once for each controller

          probe the given device and perform device specific initialization

     start routines:

          execute after all I/O and  system services are initialized

          handle all driver and device setup and initialization that can take
          place after system services are initialized (most driver setup and
          initialization tasks can be performed at this time, using a start
          routine)

          handle any driver and device setup and initialization that can only
          take place after system services are initialized

     init, edtinit and start routines for dynamically loadable modules are not
     called during system start-up as they are for statically linked modules.
     A loadable module's initialization is called each time the module is
     loaded into a running system.

   Synchronization Constraints
     Functions that can result in the caller sleeping, or that require user
     context, such as sleep(D3), may not be called from init, edtinit or
     start.  Any function that provides a flag to prevent it from sleeping
     must be called such that the function does not sleep.

REFERENCES
     start(D2)