## Physical Device Driver Reference

[prev][next][parent][TOC]

### Physical Device Driver Initialization

Physical device driver initialization occurs during system initialization. During system initialization, base device drivers are preloaded with the operating system. Installable device drivers are loaded during CONFIG.SYS processing, by way of the DEVICE= configuration command. After a physical device driver has been loaded, it will be called at its strategy routine entry point with the request packet for the INIT command.

OS/2 device drivers have the following characteristics at INIT-time. They can:

Initialize in protect mode
Have I/O Protect Level (IOPL) at all times or execute at Ring 3
Service hardware interrupts
Use timer services
Use some OS/2 dynamic link functions
Use ABIOS services

During CONFIG.SYS processing, each DEVICE= command is processed on a first- come, first-served basis:

The DEVICE= device driver file image is loaded into memory.
A check is made to ensure that the previously initialized device driver has been removed.
If the previously installed device driver has been removed, the newly loaded device driver is initialized.

Installable OS/2 device drivers are initialized in protect mode. The device driver strategy routine will run under the thread of the System Initialization Process at Ring 3, with I/O privilege. Because of the special system process, the installable device driver is allowed to make dynamic link function calls only at INIT-time.