init(D2)
init,edtinit,start - initialize drivers and their devices
As shipped in IRIX 6.5.30. 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)