DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SVR5

start(D2)


start -- initialize a static device driver (with interrupts enabled)

Synopsis (Not in current DDI version)

   void prefixstart(void);

Description

The driver's start( ) entry point routine is called during system initalization (after system services are available and interrupts have been enabled) to initialize the driver and the devices it controls.

Return values

None

Usage

This entry point is optional. If a driver is dynamically loaded, this entry point routine will not be called. The start( ) routine is a named entry point and must be defined as a global symbol.

The start routine can perform the following types of activities:

A driver that needs to perform setup and initialization tasks that must take place before system services are available and interrupts are enabled should use the init(D2) routine to perform such tasks. The start routine should be used for all other initialization tasks.

start routines for dynamically loadable modules are not called during system startup as they are for statically linked modules. A loadable module's initialization is performed by its _load(D2) routine, which is called each time the module is loaded into a running system. However, if the processing done by a module's start routine when the module is configured as a statically linked module can also be used when the module is configured as a loadable module, the module can call its start( ) routine from its _load(D2) routine.

Context and synchronization

Non-blockable context. Interrupts are enabled but processes are not yet or no longer available.

Hardware applicability

All

Version applicability

ddi: 1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp

External dependencies

Named entry point routines must be declared in the driver's Master(DSP/4dsp) file. The declaration for this entry point is $entry start.

Differences between versions

Starting with DDI version 8, the start(D2) entry point routine is no longer supported. Instead, all driver initialization is done in the _load(D2) entry point routine.

References

init(D2), _load(D2)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005